私はCMSのプラグインシステムに取り組んでいます。CMS内では名前空間をよく使用しています。プラグインの開発者は、プラグイン内で名前空間を使用する必要がないということです。これは、以前に名前空間を使用したことがない開発者にとっては非常に複雑になる可能性があるためです。名前空間の主な問題は、登録できるイベントです。現在、プラグイン開発者は、を使用してEventクラスをロードする必要があります。クラスをインポートするだけでは、名前空間を使用しているため、use \events\Event;
引き続き使用できません。new Event();
私が欲しいのは、彼らがただ使うことができるということですnew Event();
(クラス自体はCMSのオートローダーによって自動ロードされるので、インクルードは必要ありません)。
したがって、基本的に、特定のクラスまたはファイルで名前空間を無効にしたいのです。したがって、クラスからを削除せずに、のnew \events\Event();
ようになります。new Event();
namespace events;
Event
私はそれを明確に説明したと思います、私はこの種のものを説明するのが得意ではありません。