国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      PHP命令空間namespace及use的用法小結(jié)

PHP命令空間namespace及use的用法小結(jié)

標(biāo)簽: 發(fā)布日期:2017-11-27 00:00:00 337

命名空間一個(gè)最明確的目的就是解決重名問題,PHP中不允許兩個(gè)函數(shù)或者類出現(xiàn)相同的名字,否則會(huì)產(chǎn)生一個(gè)致命的錯(cuò)誤。這種情況下只要避免命名重復(fù)就可以解決,最常見的一種做法是約定一個(gè)前綴。

使用namespace的目的:

團(tuán)隊(duì)合作項(xiàng)目時(shí),避免與團(tuán)隊(duì)其它成員新建的類發(fā)生沖突;個(gè)人負(fù)責(zé)項(xiàng)目時(shí),避免前后新建的類發(fā)生沖突;

據(jù)個(gè)人理解,用到所需要的類時(shí),需要先require或include引入,所以會(huì)發(fā)生類重定義的錯(cuò)誤的前提是:兩個(gè)相同命名的類都有被引入。目前有些php框架會(huì)自動(dòng)加載(即include)所有新建的model類,所以為了避免你新建的model類和項(xiàng)目框架原生的核心類發(fā)生重名沖突,采用了namespace。(想了想,與團(tuán)隊(duì)成員新建的類產(chǎn)生沖突應(yīng)該通過溝通避免,即使事發(fā)后也應(yīng)該重新調(diào)整類名即時(shí)維護(hù),避免后期造成因?yàn)閷︻惖睦斫饣煜鴰砭S護(hù)上的復(fù)雜度提高)

結(jié)合使用方法來進(jìn)一步理解它的使用目的吧。

namespace的使用方法:

為了進(jìn)行測試,我將創(chuàng)建3個(gè)文件:1.php和name.php(此文件用來執(zhí)行測試),后面將不再說明,請自行注意代碼的變化。

1.namespace后命名的定義不區(qū)分大小寫

namespace one;
namespace One;
namespace ONE;

如上寫法都可以,選擇一種作為自己的規(guī)范即可。(后面代碼我采用第一種進(jìn)行測試哈)

2. 沒有定義命名空間,就理解為使用頂級(jí)命名空間。new類時(shí),可以在類前加上反斜杠\,也可以不加。

//1.php 
class Person{
 function __construct(){
  echo 'I am one!';
 }
}
//name.php
require_once './1.php';
new Person(); //輸出 I am one!;
new \Person(); //輸出 I am one!;