Obtener espacio de nombres PHP clase dinámicamente
¿Cómo puedo recuperar un espacio de nombres de clase automáticamente?
La var mágica__NAMESPACE__
no es confiable ya que en las subclases no está definido correctamente.
Ejemplo:
class Foo\bar\A
->__NAMESPACE__
=== Foo \ bar
class Ping\pong\B extends Foo\bar\A
->__NAMESPACE__
=== Foo \ bar (debería ser Ping \ pong)
ps: noté el mismo comportamiento incorrecto usando__CLASS__
, pero resolví usandoget_called_class()
... hay algo comoget_called_class_namespace()
? ¿Cómo puedo implementar tal función?
ACTUALIZAR:
Creo que la solución está en mi propia pregunta, ya que me di cuenta.get_called_class()
devuelve el nombre de clase completo y, por lo tanto, puedo extraer el espacio de nombres: D ... De todos modos, si hay un enfoque más efectivo, hágamelo saber;)