В чём разница между self и «ClassName»? class A {
public static $var = 1;
public function hello() {
echo self::$var;
echo A::$var;
}
}
Чем отличаться тут будут self::$var и A::$var ?

21 Авг 2019 в 07:02
195 +1
0
Ответы
1

self::$var обращается к статической переменной $var внутри текущего класса A. Таким образом, если в будущем имя класса поменяется, не нужно будет изменять код, использующий self::$var.

A::$var обращается к статической переменной $var в классе A напрямую. Это означает, что если имя класса изменится, то нужно будет вручную изменить все упоминания A::$var на новое имя класса.

Следовательно, использование self::$var более гибкое и безопасное, так как не требует изменения кода в случае изменения имени класса.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир