Staatilised meetodid ja $this OOP-s PHP-s
Staatiliste meetodite sees pole $this kättesaadav.
See tuleneb sellest, et staatilisi meetodeid
saab kutsuda väljaspool objekti konteksti,
lihtsalt viidates klassi nimele.
Tavameetodites on kättesaadavad nii staatilised kui ka tavalised omadused ja meetodid.
Vaatame näidete varal. Näide tavameetodi kohta:
<?php
class Test
{
public static $staticProperty = 'static';
public $usualProperty = 'usual';
public function method()
{
echo self::$staticProperty; // väljastab 'static'
echo $this->usualProperty; // väljastab 'usual'
}
}
$test = new Test;
$test->method();
?>
Näide staatilise meetodi kohta:
<?php
class Test
{
public static $staticProperty = 'static';
public $usualProperty = 'usual';
public static function method()
{
echo self::$staticProperty; // väljastab 'static'
echo $this->usualProperty; // annab vea
}
}
$test = new Test;
$test::method();
?>