クラスの名前空間を自動的に取得するにはどうすればよいですか?
__NAMESPACE__
サブクラスでは正しく定義されていないため、magic varは信頼できません。
例:
class Foo\bar\A
-> __NAMESPACE__
=== Foo\bar
class Ping\pong\B extends Foo\bar\A
-> __NAMESPACE__
=== Foo\bar (ピン\ポンのはずです)
ps: を使用して同じ間違った動作に気付きましたが、使用し__CLASS__
て解決しましたget_called_class()
... のようなものはありますget_called_class_namespace()
か? どうすればそのような機能を実装できますか?
更新:完全修飾クラス名を返す
ことに気付いたので、解決策は私自身の質問にあると思います。get_called_class()
したがって、そこから名前空間を抽出できます:D ...とにかく、より効果的なアプローチがあれば教えてください;)