Курсы по PHP
Менторство: 200$ за курс. Репетиторство: 20$ за занятие. Жми для подробностей!
⊗ppOpStMT 50 of 107 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Статические методы и $this в ООП в PHP

Внутри статических методов недоступен $this. Это происходит из-за того, что статические методы могут вызываться вне контекста объекта, просто обращаясь к имени класса.

В обычных методах доступны как статические, так и обычные свойства и методы.

Давайте посмотрим на примерах. Пример на обычный метод:

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

Пример на статический метод:

<?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(); ?>
azbydeenesfrkakkptruuz