Suponiendo que tengo las siguientes clases en diferentes archivos:Obtener espacio de nombres de clase niño de superclase en PHP
<?php
namespace MyNS;
class superclass {
public function getNamespace(){
return __NAMESPACE__;
}
}
?>
<?php
namespace MyNS\SubNS;
class childclass extends superclass { }
?>
Si instanciar "ChildClass" y llamar getNamespace() devuelve "MyNS".
¿Hay alguna manera de obtener el espacio de nombres actual de la clase secundaria sin volver a definir el método?
He recurrido a la creación de una variable estática de $ namespace en cada clase y haciendo referencia a ella usando super::$namespace
, pero eso simplemente no me parece muy elegante.
Aunque no se le solicite específicamente, también podría estar interesado en la palabra clave 'namespace', http://doc.php.net/language.namespaces.nsconstants, p. 'echo namespace \ MyClass :: myFunction();' – VolkerK
¡Gracias, lo sé, pero desafortunadamente no funciona en esta situación! :) –