PHP में OOP में स्टैटिक मethods और $this
स्टैटिक मethods के अंदर $this उपलब्ध नहीं है।
ऐसा इसलिए होता है क्योंकि स्टैटिक मethods
को ऑब्जेक्ट के संदर्भ के बिना ही कॉल किया जा सकता है,
बस क्लास के नाम से संदर्भित करके।
सामान्य मethods में स्टैटिक और सामान्य दोनों गुण और मethods उपलब्ध होते हैं।
आइए उदाहरणों पर नजर डालते हैं। एक सामान्य मethod का उदाहरण:
<?php
class Test
{
public static $staticProperty = 'static';
public $usualProperty = 'usual';
public function method()
{
echo self::$staticProperty; // 'static' प्रिंट करेगा
echo $this->usualProperty; // 'usual' प्रिंट करेगा
}
}
$test = new Test;
$test->method();
?>
स्टैटिक मethod का उदाहरण:
<?php
class Test
{
public static $staticProperty = 'static';
public $usualProperty = 'usual';
public static function method()
{
echo self::$staticProperty; // 'static' प्रिंट करेगा
echo $this->usualProperty; // त्रुटि देगा
}
}
$test = new Test;
$test::method();
?>