亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中怎么聲明和引入命名空間

發布時間:2021-07-28 11:26:32 來源:億速云 閱讀:146 作者:Leah 欄目:編程語言

這篇文章給大家介紹php中怎么聲明和引入命名空間,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、命名空間

1.1 介紹

在一個大的項目中,可能會遇到同名的類、函數、常量,為了區分這些元素,我們可以將這些元素分別存放到不同的命名空間中。 1、命名空間就是包,用來存放項目中的類、函數、常量 2、通過namespace關鍵字來聲明命名空間

1.2 聲明命名空間

例:

<?php
  namespace China; // 定義命名空間
  function getInfo () {
    echo '我是中國人';
  }
  getInfo();

  namespace USA; // 定義命名空間
  function getInfo () {
    echo '我是美國人';
  }
  getInfo();
?>

效果:

php中怎么聲明和引入命名空間

利用\命名空間\可進入某個命名空間中調用方法。 例:

<?php
  namespace China; // 定義命名空間
  function getInfo () {
    echo '我是中國人';
  }
  getInfo();

  namespace USA; // 定義命名空間
  function getInfo () {
    echo '我是美國人';
  }
  getInfo();
  \China\ getInfo();
?>

效果:

php中怎么聲明和引入命名空間

1.3 多級命名空間

命名空間的名字可以是多級的(子級命名空間) 例如:

<?php
  namespace China\Beijing\Shunyi; // 定義命名空間
  function getInfo () {
    echo 'China\Beijing\Shunyi';
  }
  getInfo(); // 非限定名稱訪問

  namespace USA\Washington; // 定義命名空間
  function getInfo () {
    echo 'USA\Washington';
  }
  \USA\Washington\ getInfo(); // 完全限定名稱訪問
?>

效果:

php中怎么聲明和引入命名空間

1.4 訪問空間元素的三種方式

1、非限定名稱訪問 2、完全限定名稱訪問 3、限定名稱訪問 例:

<?php
  namespace China\Beijing\Shunyi; // 定義命名空間
  function getInfo () {
    echo 'China\Beijing\Shunyi';
  }

  namespace China\Beijing; // 定義命名空間
  function getInfo () {
    echo 'China\Beijing';
  }

  getInfo();  // 非限定名稱訪問 
  \China\Beijing\getInfo();  // 完全限定名稱訪問
  Shunyi\getInfo();  // 限定名稱訪問

?>

效果:

php中怎么聲明和引入命名空間

二、引入命名空間

通過use引入命名空間 完全限定名稱訪問元素 引入命名空間的拼接規則

公共空間+引入空間+(去除公共部分,公共部分只能留一級)空間元素

例:

<?php
  namespace China\Beijing\Shunyi; // 定義命名空間
  function getInfo () {
    echo 'China\Beijing\Shunyi<br>';
  }

  namespace China\Beijing; // 定義命名空間
  function getInfo () {
    echo 'China\Beijing<br>';
  }

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

?>

效果:

php中怎么聲明和引入命名空間

2.1 引入空間元素

引入類: use 引入函數:use function 引入常量: use const 例:

<?php
  namespace China\Beijing\Shunyi; // 定義命名空間
  class Student {
  }
  function getInfo() {
    echo 'jdk';
  }
  const TYPE = 'CONST';
  namespace USA; // 定義命名空間
  // 引入類
  use China\Beijing\Shunyi\Student;
  $stu = new Student();
  var_dump($stu);
  echo '<br>';
  // 引入函數
  use function China\Beijing\Shunyi\getInfo;
  getInfo();
  echo '<br>';

  // 引入常量
  use const China\Beijing\Shunyi\TYPE;
  echo TYPE;
?>

效果:

php中怎么聲明和引入命名空間

2.2 給類、函數取別名

如果引入的類和函數與當前空間的類和函數名稱相同,需要給引入的類和函數取別名。 通過as取別名 例:

<?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 '<br>';
  $stu1=new ChinaStudent;
  var_dump($stu1);
?>

效果:

php中怎么聲明和引入命名空間

2.3 公共空間

如果一個頁面沒有namespace聲明空間這個頁面的元素在公共空間下 公共空間用\表示 例:

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

?>

效果:

php中怎么聲明和引入命名空間

2.4 命名空間注意事項

1、命名空間只能存放類、函數、const常量。 2、第一個namespace前面不能有任何的代碼,空白字符,header()也不行。 3、包含文件不影響當前的命名空間。

關于php中怎么聲明和引入命名空間就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

杂多县| 湖州市| 铁岭县| 澄迈县| 米泉市| 镇巴县| 巢湖市| 秭归县| 沂南县| 通辽市| 富平县| 陆丰市| 沈阳市| 内乡县| 横山县| 临江市| 治县。| 西乡县| 汾西县| 姜堰市| 剑河县| 英吉沙县| 平湖市| 肇源县| 梁平县| 兴仁县| 邯郸市| 巴林右旗| 隆昌县| 遂平县| 夏邑县| 舒城县| 临西县| 久治县| 资溪县| 郯城县| 佛学| 罗甸县| 仙居县| 玛纳斯县| 淮阳县|