PHP Constant
|Constant में हम केवल एक बार ही वैल्यू Assign कर सकते हैं और फिर उसका उपयोग कही भी कर सकते हैं । आइये हम अब PHP Constant के Syntax को समझते हैं ।
Syntax
Constant बनाने के दो तरीके हैं ।
//1.
define("MYCONSTANT", "Hello");
echo MYCONSTANT; // outputs "Hello"
//2.
const MYCONSTANT = 'Hello';
echo MYCONSTANT;
Name Rules
- Constant में ($) Sign का उपयोग नहीं किया जाता हैं ।
- Constant का Scope पुरे पेज पर ही होता हैं इसके लिए कोई Scope का Rule नहीं होता ।
- Constant को हम बार-बार Define नहीं कर सकते हैं और न ही इसे Blank कर सकते हैं ।
Predefined Constants
PHP में बहुत से पहले से Define किये Constant हैं जिनका हम उपयोग कर सकते हैं । इनमे से कुछ के बारे में निचे दिया गया है
<?php
echo '<table border=1>';
echo '<tr><td>PHP_VERSION</td><td>'. PHP_VERSION .'</td></tr>';
// add all
echo '</table >';
?>
Output
PHP_VERSION | 7.3.12 |
PHP_MAJOR_VERSION | 7 |
PHP_MINOR_VERSION | 3 |
PHP_RELEASE_VERSION | 12 |
PHP_VERSION_ID | 70312 |
PHP_EXTRA_VERSION | |
PHP_ZTS | 1 |
PHP_DEBUG | 0 |
PHP_MAXPATHLEN | 2048 |
PHP_OS | WINNT |
PHP_OS_FAMILY | Windows |
PHP_SAPI | apache2handler |
Magic Constant
PHP में 9 Magic Constant हैं इनके वैल्यू जहा हम उपयोग करते हैं उसके अनुसार बदलती रहती हैं
- __LINE__ : जिस भी लाइन पर इस constant को लिखेंगे वह पर Current लाइन नंबर प्रिंट हो जाएगा ।
- __NAMESPACE__ : Current Namespace के नाम Print करने के लिए ।
- __METHOD__: Class की जिस method में हम इसे लिखेंगे उस Method का नाम Print हो जाएगा ।
- __TRAIT__ : Trait का नाम प्रिंट करने के लिए ।
- __CLASS__ : Current Class का नाम Print करने के लिए ।
- __FUNCTION__ करंट Function का नाम देखने के लिए ।
- __DIR__ Current Directory का नाम देखने के लिए ।
- __FILE__ Full Path With File name , File name के साथ पूरा Path दिखाई देगा ।
इस Example से समझते हैं ।
<?php
namespace MyModel {
echo '1. LINE Line No. :' . LINE . nl2br("\r\n");
echo '2. FILE File Path :' . FILE . nl2br("\r\n");
echo '3. DIR Directory :' . DIR . nl2br("\r\n");
echo '4. NAMESPACE :' . NAMESPACE . nl2br("\r\n");
function MyFunc() {
echo '5. FUNCTION :' . FUNCTION . nl2br("\r\n");
}
MyFunc();
class MyClass {
public function construct() { echo '6. __CLASS :' . CLASS .nl2br("\r\n");
echo '7. ClassName::class :' . ClassName::class . nl2br("\r\n");
}
public function PrintData() {
echo '8. METHOD :' . METHOD . nl2br("\r\n");
}
use trait_example;
}
trait trait_example {
function MyFunc(){
echo '9. TRAIT :' . TRAIT . nl2br("\r\n");
}
}
$obj = new MyClass;
$obj->PrintData();
$obj->MyFunc();
}
?>
यदि आप एक PHP पेज पर उपरोक्त Script को Paste कर Execute करेंगे तो इस प्रकार से आउटपुट प्राप्त होगा ।
1. __LINE__ Line No. :4
2. __FILE__ File Path :D:\wamp64\www\example\const.php
3. __DIR__ Directory :D:\wamp64\www\example
4. __NAMESPACE__ :MyModel
5. __FUNCTION__ :MyModel\MyFunc
6. __CLASS__ :MyModel\MyClass
7. ClassName::class :MyModel\ClassName
8. __METHOD__ :MyModel\MyClass::PrintData
9. __TRAIT__ :MyModel\trait_example