@akdes

Вызов переменной в классе через this или через название класса?

Привет.

вот код:
class foo {
    private $myVar = "bar";
    
    public static function foobar()
    {
        echo $this->myVar;
        echo foo::$myVar;
    }
}


Какой echo правельный(или лучше) и почему?
Значит ли, что foo::$myVar отдаёт оригинальное значение всегда, несмотря на изменения его в объекте?
Какие ещё за и против?
Спасибо.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
winbackgo
@winbackgo
Должно быть static private $myVar для использования foo:;. ну и для использования $this надо инициализировать класс. И в вашем примере правильнее будет static::$myVar
Читайте про static php.net/manual/ru/language.oop5.static.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы