परिचय
कॉन्स्टेंट्स को असाइनमेंट एक्सप्रेशन में लिटरल रूप से दर्शाया जाता है जैसे $x = 10 या $name = "XYZ" जहां 10 और XYZ वेरिएबल्स को असाइन किए गए संख्यात्मक और स्ट्रिंग कॉन्स्टेंट्स हैं। PHP में, define() फ़ंक्शन की सहायता से उपयोगकर्ता-परिभाषित पहचानकर्ता के साथ एक कॉन्स्टेंट को परिभाषित करना संभव है।
सिंटैक्स
define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool
पैरामीटर्स
| क्रमांक | पैरामीटर और विवरण |
|---|---|
| 1 | name कॉन्स्टेंट का नाम। |
| 2 | value कॉन्स्टेंट का मान कोई भी स्केलर मान (पूर्णांक, फ्लोट, स्ट्रिंग आदि) या सरणी हो सकता है। |
| 3 | case_insensitive कॉन्स्टेंट पहचानकर्ता डिफ़ॉल्ट रूप से केस-संवेदनशील होते हैं। यदि यह पैरामीटर true पर सेट है, तो name और NAME को समान माना जाता है। |
रिटर्न मान
फ़ंक्शन परिभाषा सफल होने पर TRUE लौटाता है, अन्यथा FALSE लौटाता है।
उदाहरण
उदाहरण 1: define() फ़ंक्शन का उपयोग करके कॉन्स्टेंट्स परिभाषित करना
<?php
define("maxmarks", 300);
define("pi", 3.142);
define("subjects", ["phy", "che", "maths"]);
?>
मैजिक कॉन्स्टेंट्स (Magic Constants)
PHP में बड़ी संख्या में पूर्वनिर्धारित कॉन्स्टेंट्स हैं लेकिन उनमें से अधिकांश तभी सक्षम होंगे जब संबंधित एक्सटेंशन इंस्टॉल हों। हालांकि, निम्नलिखित कॉन्स्टेंट्स - जिन्हें मैजिक कॉन्स्टेंट्स कहा जाता है - हमेशा उपलब्ध होते हैं:
| नाम | विवरण |
| __LINE__ | फ़ाइल की वर्तमान लाइन संख्या। |
| __FILE__ | फ़ाइल का पूरा पथ और फ़ाइलनाम। |
| __DIR__ | फ़ाइल की डायरेक्टरी। |
| __FUNCTION__ | फ़ंक्शन नाम, या {closure} अनाम फ़ंक्शन के लिए। |
| __CLASS__ | क्लास नाम। क्लास नाम में वह नेमस्पेस शामिल होता है जिसमें इसे घोषित किया गया था (उदाहरण: Foo\Bar)। ध्यान दें कि PHP 5.4 से __CLASS__ ट्रेट्स में भी काम करता है। जब ट्रेट मेथड में उपयोग किया जाता है, तो __CLASS__ वह क्लास का नाम होता है जिसमें ट्रेट उपयोग किया जाता है। |
| __TRAIT__ | ट्रेट नाम। ट्रेट नाम में वह नेमस्पेस शामिल होता है जिसमें इसे घोषित किया गया था (उदाहरण: Foo\Bar)। |
| __METHOD__ | क्लास मेथड नाम। |
| __NAMESPACE__ | वर्तमान नेमस्पेस का नाम। |
उदाहरण 2: कुछ मैजिक कॉन्स्टेंट्स का प्रदर्शन
<?php
echo "Line no: " . __LINE__ . "\n";
echo "file name : " . __FILE__ . "\n";
echo "directory name: " . __DIR__ . "\n";
function myfunction() {
echo "function name: " . __FUNCTION__ . "\n";
}
class myclass {
public function __construct() {
echo __CLASS__ . "\n";
}
public function mymethod() {
echo __METHOD__;
}
}
$obj = new myclass();
$obj->mymethod();
?>
आउटपुट
Line no: 2 file name : C:\xampp\php\testscript.php directory name: C:\xampp\php myclass myclass::mymethod