PHP名前空間の使い方

php中世界最好的语言
リリース: 2023-03-22 07:24:01
オリジナル
1838 人が閲覧しました

今回は、PHPnamespaceの使い方と、PHPnamespaceを使用する際の注意点について説明します。実際の事例を見てみましょう。

この記事の例では、

PHP 名前空間 名前空間の定義とインポートの使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

PHP では、同じ名前の関数やクラスは許可されません。プロジェクト内でプログラマーが定義したクラス名や関数名で競合が繰り返されるのを防ぐために、PHP5.3 では名前空間の概念が導入されました。

1. 名前空間、つまりコードを異なる空間に分割する。異なる空間内のクラス名は互いに独立しており、互いに競合しません。

php ファイルには複数の名前空間が存在でき、最初の名前空間の前にコードを含めることはできません。コンテンツ空間宣言後のコードは、この名前空間に属します。例:

<?php
echo 111;  //由于namespace前有代码而报错
namespace Teacher;
class Person{
  function construct(){
   echo &#39;Please study!&#39;;
  }
}
ログイン後にコピー
2. 異なる空間のクラスまたはメソッドを呼び出す場合は、名前空間を指定する必要があります。

例:

<?php
namespace Teacher;
class Person{
  function construct(){
   echo &#39;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ステートメントで異なるデータベースをクエリする方法


ドロップダウンボックスの最初の要素の選択値を取得するJS

以上がPHP名前空間の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート