PHPで名前空間を宣言および導入する方法の詳細な分析

青灯夜游
リリース: 2023-04-10 12:02:02
転載
3435 人が閲覧しました

この記事では、PHP が名前空間を宣言する方法、空間要素にアクセスする 3 つの方法、および名前空間を導入する方法を紹介します。

PHPで名前空間を宣言および導入する方法の詳細な分析

#1. 名前空間

##1.1 概要In大規模なプロジェクトでは、同じ名前のクラス、関数、定数が存在することがありますが、これらの要素を区別するために、これらの要素を異なる名前空間に保存できます。 1. ネームスペースは、プロジェクト内のクラス、関数、定数を保存するために使用されるパッケージです。 2. 名前空間キーワードを通じて名前空間を宣言します

##1.2 名前空間を宣言します

##例:

<?php
  namespace China; // 定义命名空间
  function getInfo () {
    echo &#39;我是中国人&#39;;
  }
  getInfo();

  namespace USA; // 定义命名空间
  function getInfo () {
    echo &#39;我是美国人&#39;;
  }
  getInfo();
?>
ログイン後にコピー
効果:

\namespace\PHPで名前空間を宣言および導入する方法の詳細な分析 を使用してネームスペースを入力し、メソッドを呼び出します。 例:

<?php
  namespace China; // 定义命名空间
  function getInfo () {
    echo &#39;我是中国人&#39;;
  }
  getInfo();

  namespace USA; // 定义命名空间
  function getInfo () {
    echo &#39;我是美国人&#39;;
  }
  getInfo();
  \China\ getInfo();
?>
ログイン後にコピー

効果:

PHPで名前空間を宣言および導入する方法の詳細な分析1.3 マルチレベル名前空間

命名スペースの名前はマルチレベル (サブレベルの名前空間) にすることができます。 例:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi&#39;;
  }
  getInfo(); // 非限定名称访问

  namespace USA\Washington; // 定义命名空间
  function getInfo () {
    echo &#39;USA\Washington&#39;;
  }
  \USA\Washington\ getInfo(); // 完全限定名称访问
?>
ログイン後にコピー
Effect:

PHPで名前空間を宣言および導入する方法の詳細な分析1.4 スペース要素にアクセスする 3 つの方法

1. 非修飾名アクセス 2. 完全修飾名アクセス 3. 名前アクセスの制限 例:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi&#39;;
  }

  namespace China\Beijing; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing&#39;;
  }

  getInfo();  // 非限定名称访问 
  \China\Beijing\getInfo();  // 完全限定名称访问
  Shunyi\getInfo();  // 限定名称访问

?>
ログイン後にコピー
効果:

2. PHPで名前空間を宣言および導入する方法の詳細な分析use## を介して名前空間

を導入します。 #名前空間の導入 完全修飾名アクセス要素 ネームスペースを導入するためのスプライシング ルール

パブリック スペースによりスペースが導入されます (パブリック パーツを削除します。パブリック パーツは 1 レベルのみに留まります) スペース要素

例:
<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing\Shunyi<br>&#39;;
  }

  namespace China\Beijing; // 定义命名空间
  function getInfo () {
    echo &#39;China\Beijing<br>&#39;;
  }

  use China\Beijing\Shunyi;
  getInfo(); 
  Shunyi\getInfo();

?>
ログイン後にコピー

効果:

2.1 スペース要素の紹介PHPで名前空間を宣言および導入する方法の詳細な分析

導入クラス: 使用 機能の紹介:機能を使う 定数を導入します: const を使用します 例:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  class Student {
  }
  function getInfo() {
    echo &#39;jdk&#39;;
  }
  const TYPE = &#39;CONST&#39;;
  namespace USA; // 定义命名空间
  // 引入类
  use China\Beijing\Shunyi\Student;
  $stu = new Student();
  var_dump($stu);
  echo &#39;<br>&#39;;
  // 引入函数
  use function China\Beijing\Shunyi\getInfo;
  getInfo();
  echo &#39;<br>&#39;;

  // 引入常量
  use const China\Beijing\Shunyi\TYPE;
  echo TYPE;
?>
ログイン後にコピー
効果:

2.2 クラスと関数に別名を与えるPHPで名前空間を宣言および導入する方法の詳細な分析

導入したクラスや関数が現在の空間と同じ名前の場合は、導入したクラスや関数にエイリアスを付ける必要があります。 エイリアスを次のように使用します 例:

<?php
  namespace China\Beijing\Shunyi; // 定义命名空间
  class Student {
  }
  

  namespace USA; // 定义命名空间
  class Student {

  }
  use China\Beijing\Shunyi\Student as ChinaStudent;
  $stu=new Student;
  var_dump($stu);
  echo &#39;<br>&#39;;
  $stu1=new ChinaStudent;
  var_dump($stu1);
?>
ログイン後にコピー
効果:

2.3 パブリック スペースPHPで名前空間を宣言および導入する方法の詳細な分析

ページの場合名前空間宣言スペースはありません。このページの要素はパブリック スペースにあります。 パブリックスペースは \ で表されます 例:

<?php
  function getInfo() {
    echo &#39;李白<br>&#39;;
  }
  \getInfo();

?>
ログイン後にコピー

効果:

2.4 名前空間に関する考慮事項PHPで名前空間を宣言および導入する方法の詳細な分析

1 、名前空間にはクラス、関数、const 定数のみを格納できます。 2. 最初の名前空間の前に、空白文字や header() を含むコードを含めることはできません。 3. インクルードされたファイルは、現在の名前空間に影響を与えません。 推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで名前空間を宣言および導入する方法の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!