Ответ 1
Использование:
get_class($this);
Можно ли получить имя класса верхнего уровня из расширенного класса, не устанавливая его из класса верхнего уровня. См. Пример ниже, я хотел бы получить "Foo" от Base. Я знаю, что могу установить переменную из Foo, но надеясь пропустить дополнительный шаг.
Спасибо.
class Base {
function __construct() {
echo '<p>get_class: '.get_class().'</p>';
echo '<p>__CLASS__: '.__CLASS__.'</p>';
}
}
class Foo extends Base {
}
$test = new Foo();
(PHP 5.2.4 +)
Использование:
get_class($this);
get_called_class()
для статических классов или get_class($this)
для экземпляра.
get_called_class()
, как сказал Джейсон, был представлен в PHP 5.3
Вы можете просто использовать:
get_class($this);