前回の記事では「PHP の高度な構文 - Trait とは?」について紹介しました。どのように使用しますか?彼の特徴は何ですか? 》に引き続き、この記事では PHP の名前空間とは何なのかについて紹介していきます。名前空間を使用するにはどうすればよいですか?
名前空間:
ファイル内に Person クラスが存在する場合、別の Person クラスを定義できますか?
ネームスペースはフォルダーです。
異なる名前空間で同じクラス名を持つことができます
namespace: namespace
use: use
まず、新しいファイルを作成します。ファイル内に person クラスを定義しましたが、引き続き person クラスを確認できますか?デバッグ用の例としてこのコードを取り上げます。コードは次のとおりです:
<?php class person { } class person { } ?>
結果は次のとおりです:
結果は、コードが person クラスを繰り返し定義できないというエラーを報告していることを示しています。これは明らかなエラーです。同じファイル内に 2 つの同一のファイルを含めることはできませんが、必要な場合は、同じクラス名を持つために、名前空間を参照できるという概念です。
次に、名前空間の使用を開始します。先ほど書いたコードでは、最初の人物を 1 つの名前空間の下に書き、2 人目の人物を別の名前空間の下に書きました。これにより、同時に 2 つの人物クラスを定義できるようになります。名前空間は次のように記述されます: さらに、名前空間に名前を付ける必要があるため、作成したばかりのコードは定義したばかりの名前空間内にあります。内部では、このコードを実行してもエラーが報告されるため、定義する必要があります二人称クラスの名前空間を定義し、一人目のクラスと二番目のクラスにそれぞれメソッド(関数)を定義します このとき、2つのクラスは同じ名前ですが、同じ名前空間には存在しません 具体的なコード
<?php namespace love; class Person { function pome() { echo '我明白你会来,所以我等<br />'; } } namespace like; class Person { function pome() { echo '不须耳鬓常厮伴,一笑低头意已倾<br />'; } } ?>
結果は次のとおりです:
結果の表示は正しく、エラーはありません。報告済み;
記述したコードの内容を出力したい場合は、新しい person オブジェクトを作成する必要があります。そうしないと、どれが出力 person クラスであるかがわかりません。コードは次のとおりです。
$ming = new Person(); $ming ->pome();
結果は次のとおりです:
注: オブジェクトを作成するとき、スペースという名前を付けます。
最初の名前空間の内容を出力したい場合は、次のように記述する必要があります:
$niu = new \love\Person(); $niu->pome();
結果は次のようになります:
1. 最初の名前空間の命名: その前にコードを置くことはできません 2. ルート空間とサブ空間ルート空間
あなたの hello スペースは実際には
\hello .
あなたのワールド スペースは実際には
\world
あなたはワールド空間で
hello\Dog ===> world\hello\Dog
3. use, as use
use \hello\test\Dog as SmallDog; use \world\Dog as BigDog;
以上がPHP の名前空間とは何ですか?名前空間を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。