Statik metodlar və $this PHP-də OOP-də

Statik metodların daxilində $this əlçatan deyil. Bu ona görə baş verir ki, statik metodlar obyekt kontekstindən kənarda çağırıla bilər, sadəcə sinfin adına müraciət etməklə.

Adi metodlarda həm statik, həm də adi xassələr və metodlar əlçatandır.

Gəlin nümunələrə baxaq. Adi metod üçün nümunə:

Test.php<?php
  class Test
  {
    public static $staticProperty = 'static';
    public $usualProperty = 'usual';
    
    public function method()
    {
      echo self::$staticProperty; // 'static' çap edəcək
      echo $this->usualProperty;  // 'usual' çap edəcək
    }
  }
  
  $test = new Test;
  $test->method();
?>

Statik metod üçün nümunə:

Test.php<?php
  class Test
  {
    public static $staticProperty = 'static';
    public $usualProperty = 'usual';
    
    public static function method()
    {
      echo self::$staticProperty; // 'static' çap edəcək
      echo $this->usualProperty;  // səhv verəcək
    }
  }
  
  $test = new Test;
  $test::method();
?>