Получите пространство имен класса PHP динамически
Как я могу получить пространство имен класса автоматически?
Волшебный вар__NAMESPACE__
ненадежен, так как в подклассах это 'не правильно определены.
Пример: ->
class Foo\bar\A
__NAMESPACE__
=== Foo \ bar ->
class Ping\pong\B extends Foo\bar\A
__NAMESPACE__
=== Foo \ bar (это должен быть Ping \ pong)
PS: я заметил то же самое неправильное поведение, используя__CLASS__
, но я решил использоватьget_called_class()
... есть что-то вродеget_called_class_namespace()
? Как я могу реализовать такую функцию?
ОБНОВИТЬ:
Я думаю, что решение в моем собственном вопросе, так как я понял,get_called_class()
возвращает полное имя класса и, таким образом, я могу извлечь из него пространство имен: D ... В любом случае, если есть более эффективный подход, дайте мне знать;)