如何自动检索类命名空间?
魔术 var__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 ...无论如何,如果有更有效的方法让我知道;)