Статик методлар ва $this ПХПда ООПда
Статик методлар ичида $this нинг истифодаси имконсиз.
Бу шундан келиб чиқадики, статик методлар
объект контекстидан ташқарида чақирилиши мумкин,
оддийгина класс номига мурожаат қилиш орқали.
Оддий методларда ҳам статик, ҳам оддий хусусиятлар ва методлар мавжуд.
Келгина, мисоллар орқали кўрамиз. Оддий методга мисол:
<?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();
?>
Статик методга мисол:
<?php
class Test
{
public static $staticProperty = 'static';
public $usualProperty = 'usual';
public static function method()
{
echo self::$staticProperty; // 'static' ни чиқаради
echo $this->usualProperty; // хатолик берadi
}
}
$test = new Test;
$test::method();
?>