Когда использовать себя сверх $ this? - PullRequest
1891 голосов
/ 30 сентября 2008

В PHP 5, в чем разница между использованием self и $this?

Когда каждый уместен?

Ответы [ 22 ]

2 голосов
/ 02 февраля 2016

Случай 1: использование self может использоваться для констант класса

 class classA { 
     const FIXED_NUMBER = 4; 
     self::POUNDS_TO_KILOGRAMS
}

Если вы хотите вызвать его вне класса, используйте classA::POUNDS_TO_KILOGRAMS для доступа к константам

Случай 2: для статических свойств

class classC {
     public function __construct() { 
     self::$_counter++; $this->num = self::$_counter;
   }
}
1 голос
/ 07 декабря 2015

Согласно php.net, в этом контексте есть три специальных ключевых слова: self, parent и static. Они используются для доступа к свойствам или методам из определения класса.

$this, с другой стороны, используется для вызова экземпляра и методов любого класса, если этот класс доступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...