परिचय
PHP एक वर्ग में एक पहचानकर्ता को एक स्थिर मान के रूप में परिभाषित करने की अनुमति देता है, जो प्रति वर्ग के आधार पर अपरिवर्तित रहता है। रोम को एक चर या संपत्ति के वर्ग में अंतर करने के लिए, स्थिरांक का नाम $ प्रतीक के साथ उपसर्ग नहीं है और इसके साथ परिभाषित किया गया है स्थिरांक क्वालीफायर।
स्थिरांक की डिफ़ॉल्ट दृश्यता सार्वजनिक होती है, हालांकि परिभाषा में अन्य संशोधक का उपयोग किया जा सकता है। एक स्थिरांक का मान निश्चित अभिव्यक्ति होना चाहिए न कि एक चर, न ही एक फ़ंक्शन कॉल/प्रॉपर्टी। स्कोप रेज़ोल्यूशन ऑपरेटर का उपयोग करके कक्षा के नाम के माध्यम से निरंतर मूल्य का उपयोग किया जाता है। एक विधि के अंदर हालांकि इसे स्वयं . के माध्यम से संदर्भित किया जा सकता है परिवर्तनशील
सिंटैक्स
class SomeClass{ const CONSTANT = 'constant value'; } echo SomeClass::CONSTANT;
लगातार नाम केस संवेदी होते हैं। परंपरागत रूप से, स्थिरांक का नाम अपर केस में दिया जाता है
कक्षा स्थिर उदाहरण
यह उदाहरण दिखाता है कि कैसे एक क्लास कॉन्स्टेंट को परिभाषित और एक्सेस किया जाता है
उदाहरण
<?php class square{ const PI=M_PI; var $side=5; function area(){ $area=$this->side**2*self::PI; return $area; } } $s1=new square(); echo "PI=". square::PI . "\n"; echo "area=" . $s1->area(); ?>
आउटपुट
यह निम्नलिखित परिणाम देगा। -
PI=3.1415926535898 area=78.539816339745
अभिव्यक्ति के रूप में वर्ग स्थिरांक
इस उदाहरण में, वर्ग स्थिरांक को एक व्यंजक असाइन किया गया है
उदाहरण
<?php const X = 22; const Y=7; class square { const PI=X/Y; var $side=5; function area(){ $area=$this->side**2*self::PI; return $area; } } $s1=new square(); echo "PI=". square::PI . "\n"; echo "area=" . $s1->area(); ?>
बाहरी
यह निम्नलिखित परिणाम देगा। -
PI=3.1428571428571 area=78.571428571429
कक्षा निरंतर दृश्यता संशोधक
उदाहरण
<?php class example { const X=10; private const Y=20; } $s1=new example(); echo "public=". example::X. "\n"; echo "private=" . $s1->Y ."\n"; echo "private=" . $example::Y ."\n"; ?>
आउटपुट
यह निम्नलिखित परिणाम देगा। -
1public=10 PHP Notice: Undefined property: example::$Y in line 11 private=PHP Fatal error: Uncaught Error: Cannot access private const example::Y