Back to questions
Junior — Middle
88
Можете объяснить отличия между ключевыми словами self и this в программировании?
Answer from AI
sobes.tech AI
В PHP ключевые слова self и this используются для обращения к элементам класса, но имеют разные контексты:
-
this— это ссылка на текущий экземпляр объекта. Используется внутри методов объекта для доступа к его свойствам и методам. -
self— это ссылка на сам класс, используется для доступа к статическим свойствам и методам внутри класса.
Пример:
class Example {
public $instanceVar = 'instance';
public static $staticVar = 'static';
public function instanceMethod() {
echo $this->instanceVar; // обращение к свойству объекта
}
public static function staticMethod() {
echo self::$staticVar; // обращение к статическому свойству класса
}
}
$obj = new Example();
$obj->instanceMethod(); // выводит 'instance'
Example::staticMethod(); // выводит 'static'
Таким образом, this используется для работы с конкретным объектом, а self — для работы с классом в целом.