If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
पिछले Topic में आपने समझा कि PHP में Class क्या होती है और इसे कैसे define करते हैं। किसी भी Class में दो तरह के members (Variables / Methods ) हो सकते हैं , Static या Non Static . इस Topic में आप पढ़ेंगे कि Class में Static Members क्या होता है , कैसे इन्हे define करते हैं और किस - किस तरह से इन्हे Access कर सकते हैं।
PHP में Static Property / Variables को define करने के लिए simply predefined keyword static का use करके define करते हैं। किसी भी Property / Variables से पहले static लिख देने से वह Property As a static Property define हो जाती है।
For Example :
<?php
class ClassName
{
public static $property1;
public static $property2;
}
?>
इसी तरह Class में Static Method को define करने के लिए simply Method के name से पहले static keyword का use किया जाता है ।
For Example :
<?php
class ClassName
{
public static function myfun()
{
// rest of code
}
}
?>
PHP में Static Property / Methods Access करने के लिए हमें उस class का Object नहीं बनाना पड़ता है , simply ClassName और Double Colon (::) का use करके हम directly Class की Static Property / Methods Access कर सकते हैं।
File : php_access_static_members.php
<?php
class MyCar
{
public static $color = 'Green';
public static function getCar()
{
echo "<br> This is MyCar";
}
}
/*first try to access property only*/
echo 'MyCar color is : '.MyCar::$color;
/*now call the static method*/
MyCar::getCar();
?>
MyCar color is : Green
This is MyCar
तो कुछ इस तरह से PHP में Static Properties / Methods को directly ClassName के साथ बिना उस Class का Object बनाये Access कर सकते हैं।
हालाँकि ये जरूरी नहीं है , कि Class के अंदर जो value define है वही रहेगी आप उसे अपनी need के according manipulate भी कर सकते हैं।
For Example:
echo 'MyCar color is : '.MyCar::$color;
// Output : MyCar color is Green
MyCar::$color = 'Red';
echo 'Now MyCar color is : '.MyCar::$color;
// Output : Now MyCar color is Red
अभी तो Class की Static Properties / Members को Class के बाहर access किया था , लेकिन Class के अंदर उन्हें कैसे access करें ?.
इसके लिए PHP में हम use करते हैं predefined keyword self .
? सिर्फ Static Properties / Methods को ही self keyword के द्वारा access किया जा सकता है , non static Properties / Methods access करने के लिए $this-> का use किया जाता है हालाँकि इसके बारे में आप Next Topic में पढ़ेंगे।
File : php_self.php
<?php
class MyCar
{
public static $color = 'Green';
public static function getCar()
{
return self::$color;
}
/* define one more static function in which we'll access getCar() function*/
public static function getCarInfo()
{
return self::getCar();
}
}
echo MyCar::getCarInfo();
?>
Green
तो कुछ इस तरह से Class के अंदर self keyword का use करके Static Properties / Methods को access करते हैं।
❕ Important
Normal Function की तरह ही Class में defined Methods में भी हम सभी तरह के Parameters define कर सकते हैं या default parameters set कर सकते हैं।