亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    深入淺析php中如何聲明和引入命名空間

    本篇文章給大家介紹一下php如何聲明命名空間、訪問(wèn)空間元素的三種方式,引入命名空間的方法。

    深入淺析php中如何聲明和引入命名空間

    一、命名空間

    1.1 介紹

    在一個(gè)大的項(xiàng)目中,可能會(huì)遇到同名的類(lèi)、函數(shù)、常量,為了區(qū)分這些元素,我們可以將這些元素分別存放到不同的命名空間中。 1、命名空間就是包,用來(lái)存放項(xiàng)目中的類(lèi)、函數(shù)、常量 2、通過(guò)namespace關(guān)鍵字來(lái)聲明命名空間

    1.2 聲明命名空間

    例:

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

    效果:

    深入淺析php中如何聲明和引入命名空間

    利用命名空間可進(jìn)入某個(gè)命名空間中調(diào)用方法。 例:

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

    效果:

    深入淺析php中如何聲明和引入命名空間

    1.3 多級(jí)命名空間

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

    <?php   namespace ChinaBeijingShunyi; // 定義命名空間   function getInfo () {     echo 'ChinaBeijingShunyi';   }   getInfo(); // 非限定名稱(chēng)訪問(wèn)    namespace USAWashington; // 定義命名空間   function getInfo () {     echo 'USAWashington';   }   USAWashington getInfo(); // 完全限定名稱(chēng)訪問(wèn) ?>

    效果:

    深入淺析php中如何聲明和引入命名空間

    1.4 訪問(wèn)空間元素的三種方式

    1、非限定名稱(chēng)訪問(wèn) 2、完全限定名稱(chēng)訪問(wèn) 3、限定名稱(chēng)訪問(wèn) 例:

    <?php   namespace ChinaBeijingShunyi; // 定義命名空間   function getInfo () {     echo 'ChinaBeijingShunyi';   }    namespace ChinaBeijing; // 定義命名空間   function getInfo () {     echo 'ChinaBeijing';   }    getInfo();  // 非限定名稱(chēng)訪問(wèn)    ChinaBeijinggetInfo();  // 完全限定名稱(chēng)訪問(wèn)   ShunyigetInfo();  // 限定名稱(chēng)訪問(wèn)  ?>

    效果:

    深入淺析php中如何聲明和引入命名空間

    二、引入命名空間

    通過(guò)use引入命名空間 完全限定名稱(chēng)訪問(wèn)元素 引入命名空間的拼接規(guī)則

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

    例:

    <?php   namespace ChinaBeijingShunyi; // 定義命名空間   function getInfo () {     echo 'ChinaBeijingShunyi<br>';   }    namespace ChinaBeijing; // 定義命名空間   function getInfo () {     echo 'ChinaBeijing<br>';   }    use ChinaBeijingShunyi;   getInfo();    ShunyigetInfo();  ?>

    效果:

    深入淺析php中如何聲明和引入命名空間

    2.1 引入空間元素

    引入類(lèi): use 引入函數(shù):use function 引入常量: use const 例:

    <?php   namespace ChinaBeijingShunyi; // 定義命名空間   class Student {   }   function getInfo() {     echo 'jdk';   }   const TYPE = 'CONST';   namespace USA; // 定義命名空間   // 引入類(lèi)   use ChinaBeijingShunyiStudent;   $stu = new Student();   var_dump($stu);   echo '<br>';   // 引入函數(shù)   use function ChinaBeijingShunyigetInfo;   getInfo();   echo '<br>';    // 引入常量   use const ChinaBeijingShunyiTYPE;   echo TYPE; ?>

    效果:

    深入淺析php中如何聲明和引入命名空間

    2.2 給類(lèi)、函數(shù)取別名

    如果引入的類(lèi)和函數(shù)與當(dāng)前空間的類(lèi)和函數(shù)名稱(chēng)相同,需要給引入的類(lèi)和函數(shù)取別名。 通過(guò)as取別名 例:

    <?php   namespace ChinaBeijingShunyi; // 定義命名空間   class Student {   }       namespace USA; // 定義命名空間   class Student {    }   use ChinaBeijingShunyiStudent as ChinaStudent;   $stu=new Student;   var_dump($stu);   echo '<br>';   $stu1=new ChinaStudent;   var_dump($stu1); ?>

    效果:

    深入淺析php中如何聲明和引入命名空間

    2.3 公共空間

    如果一個(gè)頁(yè)面沒(méi)有namespace聲明空間這個(gè)頁(yè)面的元素在公共空間下 公共空間用表示 例:

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

    效果:

    深入淺析php中如何聲明和引入命名空間

    2.4 命名空間注意事項(xiàng)

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

    推薦學(xué)習(xí):《PHP視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)