php 名前空間 名前空間
公式声明は次のとおりです:
PHP では、クラス ライブラリやアプリケーションを作成するときに、クラスや関数などの再利用可能なコードを作成するときに発生する 2 種類の問題を解決するために名前空間が使用されます
1. ユーザーが作成したコードと、PHP の内部クラス/関数/定数またはサードパーティのクラス/関数/定数の間に名前の競合があります。
2. ソース コードの可読性を向上させるために、非常に長い識別子名 (通常、最初の種類の問題を軽減するために定義される) のエイリアス (または短い) 名を作成します。
実際、名前空間の目的は、異なるファイルが導入されたときに 2 つの同一のクラスが存在する状況を解決することであり、__NAMESPACE__ は名前空間の名前を取得できます。
たとえば、test.php と test2.php をインポートするインデックス ファイルがありますが、どちらのファイルにもクラス take が含まれているため、index.php ファイル内にあります
新しいテイクをインスタンス化すると、エラーが報告されます。このとき、名前空間を使用する必要があります。
test.php
名前空間が必要です;
授業を受ける{
関数 __construct() {
print "これはテスト ファイルです! 名前は __NAMESPACE__;
}
}
test2.php
名前空間 my;
授業を受ける{
関数 __construct() {
print "これは私のファイルです! テストではありません、名前は __NAMESPACE__;
}
}
インデックス.php
use take as a; //このようにして、テスト ファイル内の take クラスの名前空間は (単に練習のために);
としてエイリアス化されます。
require_once('test.php');
require_once('test2.php');
$obj = new take() //テストファイルのクラスを取得します
;
"