1. PHP の名前空間とは何ですか?
2. PHP 名前空間を理解する方法
namespace foo;
class Foo {
public function foo()
{
return \top\namespace\bar\Bar::fuck();
}
}
namespace foo; use top\namespace\bar\Bar; class Foo { public function foo() { return Bar::fuck(); } }
現在非常に人気のある Composer は、名前空間ベースのパッケージマネージャー/依存関係マネージャーです。同様に、今日の Laravel の成功は主に PHP5.3 の人気によるものであり、これは右に起こったものです。 https://packagist.org/ からさまざまなパッケージをダウンロードします。
yum、npm、または gem に似た、composer パッケージ。
4. いくつかのヒント
1. 同じスペース内のクラスは互いに直接呼び出し、同じファミリーに属します。たとえば、Laravel の PageController クラスでは、Page::all() のようなコードを直接記述して呼び出すことができます。
これらは両方ともトップレベルの名前空間の下にあるため、ページ モデルになります。
2. クラスがトップレベル以外の名前空間に存在する場合、そのクラスは「参照」または「インポート」を行わずに、同じ現在の名前空間内の他のクラスのみを呼び出すことができます。 。サブネームスペースはすべて別のネームスペース、別のコンテナであり、コンテナ間の関係以外に特別な関係はありません。
3. Laravel は自動ロード (autoload) にクラスマップメソッドを使用しますが、これは論理的な関係にすぎず、require ファイルが必要です。このクラスとファイルの間には対応関係が存在します /vendor/composer/autoload_classmap.php 、composer dump-autoload は毎回再コンパイルされて生成されます。
転載元: http://lvwenhan.com/php/401.html 以上、内容の側面も含めて PHP 名前空間の概要を紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。