Статычныя метады і $this у ААП у PHP

Унутры статычных метадаў недаступны $this. Гэта адбываецца з-за таго, што статычныя метады могуць выклікацца па-за кантэкстам аб'екта, проста звяртаючыся да імя класа.

У звычайных метадах даступныя як статычныя, так і звычайныя ўласцівасці і метады.

Давайце паглядзім на прыкладах. Прыклад на звычайны метад:

Test.php<?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();
?>

Прыклад на статычны метад:

Test.php<?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();
?>