ThinkPHP 5ネーミングスペースおよび自動ロード

2219 ワード

1.ネーミングスペースとは
広義には、ネーミングスペースは物事をカプセル化する方法です.このような抽象概念は多くの場所で見られる.たとえば、オペレーティングシステムでは、ディレクトリが関連ファイルをグループ化するために使用され、ディレクトリ内のファイルにとってネーミングスペースの役割を果たします.具体的には、ファイルfoo.txtは、ディレクトリ/home/gregと/home/otherの両方に存在するもよいが、同じディレクトリに2つのfooは存在しない.txtファイル.また、fooにディレクトリ/home/gregの外にアクセスする.txtファイルの場合、ディレクトリ名とディレクトリ区切り記号をファイル名の前に/home/greg/fooを取得する必要があります.txt. この原理をプログラム設計分野に応用することがネーミング空間の概念である.
2.ネーミングスペースの役割
ThinkPHP 5は、クラスライブラリファイルをネーミングスペース方式で定義および自動ロードし、マルチモジュールとComponentoserクラスライブラリ間のネーミングスペース競合の問題を効果的に解決し、より効率的なクラスライブラリ自動ロードメカニズムを実現する.
TIPS:PHP内蔵クラスライブラリを呼び出す必要がある場合、または第三者がネーミングスペースを使用していないクラスライブラリを呼び出す必要がある場合は、クラスライブラリをインスタンス化するときに
//      
$class = new stdClass();
$xml  =  new SimpleXmlElement($xmlstr);
//      
$class = new \stdClass();
$xml  =  new \SimpleXmlElement($xmlstr);

3.クラスライブラリの自動ロード方法
クラスライブラリパッケージディレクトリをEXTEND_に入れるだけPATHディレクトリ(デフォルト/extend、構成可能)では、クラスライブラリ内のネーミングスペースを持つクラスを自動的にロードできます.