Obter espaço de nomes de classe PHP dinamicamente

Como posso recuperar um namespace de classe automaticamente?

A magia var__NAMESPACE__ não é confiável, pois nas subclasses ele não está definido corretamente.

Exemplo:

class Foo\bar\A ->__NAMESPACE__ === Foo \ bar

class Ping\pong\B extends Foo\bar\A ->__NAMESPACE__ === Foo \ bar (deve ser Ping \ pong)

ps: Eu notei o mesmo comportamento errado usando__CLASS__, mas resolvi usarget_called_class()... há algo comoget_called_class_namespace()? Como posso implementar essa função?

ATUALIZAR:
Eu acho que a solução está na minha própria pergunta, desde que eu percebiget_called_class() retorna o nome completo da classe e, portanto, posso extrair o namespace dele: D ... De qualquer forma, se houver uma abordagem mais eficiente, informe-me;)

questionAnswers(2)

yourAnswerToTheQuestion