Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> PHP

PHP स्टेटिक गुण और तरीके

परिचय

एक PHP वर्ग में, स्थैतिक कीवर्ड के साथ घोषित गुणों और विधियों को इसके ऑब्जेक्ट द्वारा -> ऑपरेटर की सहायता से एक्सेस नहीं किया जा सकता है। वास्तव में, कक्षा के किसी भी उदाहरण तक पहुँचने के लिए वस्तु की आवश्यकता नहीं होती है। कक्षा में स्थिर वस्तुओं की डिफ़ॉल्ट दृश्यता सार्वजनिक होती है

स्थिर गुण

बाहरी वर्ग से एक स्थिर संपत्ति तक पहुँचने के लिए, हमें वर्ग के नाम के साथ स्कोप रिज़ॉल्यूशन ऑपरेटर (::) का उपयोग करने की आवश्यकता है। वर्ग के नाम का मूल्यांकन करने वाला एक स्ट्रिंग चर स्थिर संपत्ति को भी प्रदान कर सकता है

<?php
class testclass{
   static $name="test";
}
echo testclass::$name;
$var="testclass";
echo $var::$name;
?>

एक ही वर्ग की किसी भी विधि के अंदर स्थिर गुण का उपयोग करने के लिए, स्वयं . का उपयोग करें इसके बजाय कीवर्ड -> ऑपरेटर जिसका उपयोग इंस्टेंस गुणों तक पहुँचने के लिए किया जाता है।

<?php
class testclass{
   static $name="test";
   public function test(){
      echo self::$name;
   }
}
$obj=new testclass();
$obj->test();
?>

माता-पिता वर्ग में घोषित किसी भी स्थिर संपत्ति को पैरेंट . का उपयोग करके चाइल्ड क्लास विधि के अंदर संदर्भित किया जा सकता है स्कोप रिजॉल्यूशन ऑपरेटर के साथ कीवर्ड

<?php
class testclass{
   static $name="test";
   public function test(){
      echo self::$name;
   }
}
class myclass extends testclass{
   public function mytest(){
      echo parent::$name;
   }
}
$obj=new myclass();
$obj->mytest();
?>

स्थिर तरीके

जब किसी विधि को स्थिर घोषित किया जाता है, तो छद्म चर $this इसके लिए उपलब्ध नहीं है। इसलिए, किसी वर्ग के उदाहरण विशेषताओं को इसमें एक्सेस नहीं किया जा सकता है। स्कोप रिजॉल्यूशन ऑपरेटर के साथ-साथ स्टैटिक मेथड को क्लास के नाम से पुकारा जाता है

निम्नलिखित उदाहरण में, वर्ग की एक स्थिर संपत्ति $count है जो हर बार कंस्ट्रक्टर के निष्पादित होने पर (यानी प्रत्येक वस्तु के लिए) वृद्धि करती है। कक्षा के अंदर, एक स्थिर कार्य होता है जो स्थिर संपत्ति के मूल्य को पुनः प्राप्त करता है

उदाहरण

<?php
class testclass{
   static $count=0;
   function __construct(){
      self::$count++;
   }
   static function showcount(){
      echo "count = " . self::$count;
   }
}
$a=new testclass();
$b=new testclass();
$c=new testclass();
testclass::showcount();
?>

आउटपुट

यह निम्नलिखित आउटपुट देगा -

count = 3

  1. जावास्क्रिप्ट में किसी वर्ग को स्थिर विधियों को कैसे असाइन करें?

    जावास्क्रिप्ट में क्लास को स्टैटिक मेथड्स असाइन करने के लिए कीवर्ड स्टैटिक के साथ मेथड को प्रीफिक्स करें। तब स्थिर विधियों को कक्षा को तत्काल किए बिना बुलाया जा सकता है। जावास्क्रिप्ट में एक वर्ग के लिए स्थिर विधियों को निर्दिष्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html

  1. पायथन में एक्सेसिंग एट्रीब्यूट्स और मेथड्स

    एक वस्तु उन्मुख प्रोग्रामिंग भाषा के रूप में अजगर वस्तुओं पर जोर देता है। कक्षाएं वह खाका हैं जिससे वस्तुएं बनाई जाती हैं। पायथन में प्रत्येक वर्ग में एक विशेषता के रूप में फ़ंक्शन सहित कई विशेषताएं हो सकती हैं। कक्षा की विशेषताओं को एक्सेस करना एक वर्ग की विशेषताओं की जांच करने के लिए और उन विशेषत

  1. पायथन वर्ग में स्थिर विधियाँ क्या हैं?

    किसी भी अजगर वर्ग में तीन प्रकार की विधियाँ होती हैं जैसे उदाहरण विधियाँ, वर्ग विधियाँ और स्थिर विधियाँ। उदाहरण कोड पर विचार करें class OurClass:     def method(self):         return 'instance method called', self      @classmethod     d