ホームページ  >  記事  >  バックエンド開発  >  PHPで名前空間を宣言および導入する方法の詳細な分析

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

青灯夜游
青灯夜游転載
2021-07-27 18:42:043383ブラウズ

この記事では、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 までご連絡ください。