今回は、PHPnamespaceの使い方と、PHPnamespaceを使用する際の注意点について説明します。実際の事例を見てみましょう。
この記事の例では、PHP 名前空間 名前空間の定義とインポートの使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
PHP では、同じ名前の関数やクラスは許可されません。プロジェクト内でプログラマーが定義したクラス名や関数名で競合が繰り返されるのを防ぐために、PHP5.3 では名前空間の概念が導入されました。1. 名前空間、つまりコードを異なる空間に分割する。異なる空間内のクラス名は互いに独立しており、互いに競合しません。
php ファイルには複数の名前空間が存在でき、最初の名前空間の前にコードを含めることはできません。コンテンツ空間宣言後のコードは、この名前空間に属します。例:
<?php echo 111; //由于namespace前有代码而报错 namespace Teacher; class Person{ function construct(){ echo 'Please study!'; } }2. 異なる空間のクラスまたはメソッドを呼び出す場合は、名前空間を指定する必要があります。 例:
<?php namespace Teacher; class Person{ function construct(){ echo 'Please study!<br/>'; } } function Person(){ return 'You must stay here!'; }; namespace Student; class Person{ function construct(){ echo 'I want to play!<br/>'; } } new Person(); //本空间(Student空间) new \Teacher\Person(); //Teacher空间 new \Student\Person(); //Student空间 echo \Teacher\Person(); //Teacher空间下Person函数出力:
I want to play! Please study! I want to play! You must stay here!
3. 名前空間に導入された他のファイルは、この名前空間に属さず、パブリック スペースまたはファイル自体で定義された名前空間に属します。
例:最初に 1.php と 2.php ファイルを定義します:
<?php //1.php class Person{ function construct(){ echo 'I am one!<br/>'; } }
<?php namespace Newer; require_once './1.php'; new Person(); //报错,找不到Person; new \Person(); //输出 I am tow!;
<?php //2.php namespace Two class Person{ function construct(){ echo 'I am tow!<br/>'; } }
<?php namespace New; require_once './2.php'; new Person(); //报错,(当前空间)找不到Person; new \Person(); //报错,(公共空间)找不到Person; new \Two\Person(); //输出 I am tow!;
4. use の使い方を見てみましょう:
(使用後のquote は省略できます)
namespace School\Parents; class Man{ function construct(){ echo 'Listen to teachers!<br/>'; } } namespace School\Teacher; class Person{ function construct(){ echo 'Please study!<br/>'; } } namespace School\Student; class Person{ function construct(){ echo 'I want to play!<br/>'; } } new Person(); //输出I want to play! new \School\Teacher\Person(); //输出Please study! new Teacher\Person(); //报错 ---------- use School\Teacher; new Teacher\Person(); //输出Please study! ---------- use School\Teacher as Tc; new Tc\Person(); //输出Please study! ---------- use \School\Teacher\Person; new Person(); //报错 ---------- use \School\Parent\Man; new Man(); //报错この記事のケース あなたはこの方法をマスターしました。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:
PHPはポスター広告の生成を直接実装します
PHPはWeChatが開かれているかブラウザが開かれているかを決定します
1つのSQLステートメントで異なるデータベースをクエリする方法
以上がPHP名前空間の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。