Статикӣ методҳо ва $this дар ООП дар PHP
Дар дохили методҳои статикӣ $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; // хатогӣ медиҳад
}
}
$test = new Test;
$test::method();
?>