Как получить имя caller класса PHP Как в родительском классе получить имя класса, который вызвал действие?
Пример:class ParentClass {
function action() {
echo $className;
}
}
class ChildClass extends ParentClass {}
$parentClass = new ParentClass();
$parentClass->action(); // ParentClass
$childClass = new ChildClass();
$childClass->action(); // ChildClass

21 Авг 2019 в 07:09
165 +1
0
Ответы
1

Для получения имени класса, который вызвал действие, можно воспользоваться функцией get_called_class(). Вам нужно будет использовать это вместо $className в коде:

Пример:

class ParentClass {
function action() {
echo get_called_class();
}
}

class ChildClass extends ParentClass {}

$parentClass = new ParentClass();
$parentClass->action(); // ParentClass

$childClass = new ChildClass();
$childClass->action(); // ChildClass

Функция get_called_class() возвращает имя класса, на котором вызывается метод в текущий момент.

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