讓我給你一個(gè)類的簡(jiǎn)單例子:
?php namespace Dojo; class Ninja { }
在上面的示例中,我們?cè)贒ojo命名空間中創(chuàng)建了一個(gè)名為Ninja的新類。如果我們沒(méi)有使用命名空間,并且我們的應(yīng)用程序中包含了另一個(gè)名為Ninja的類,那么我們將得到一個(gè)錯(cuò)誤,說(shuō)明我們不能重新聲明類。
那么命名空間就可以解決這個(gè)問(wèn)題。我們可以創(chuàng)建另一個(gè)類,像這樣:
?php namespace Training; class Ninja { }
現(xiàn)在,如果我們將這兩個(gè)文件都包含在應(yīng)用程序中,就可以很容易地區(qū)分我們想要使用哪個(gè)Ninja類。
作為一個(gè)例子,這里有一些代碼,說(shuō)明我們將如何使用Ninja類:
?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; // create a new Ninja in the Dojo namespace $ninja1 = new Dojo\Ninja(); // create a new Ninja in the Training namespace $ninja2 = new Training\Ninja();
這兩個(gè)類是不同的,可能具有不同的功能,因此命名空間允許我們使用相同的類名,并通過(guò)它們的名稱空間對(duì)它們進(jìn)行區(qū)分。你還可以使用PHP use函數(shù)使代碼更具可讀性。例如,假設(shè)我們只想使用Ninja而不是引入Dojo\Ninja。
我們可以這樣做:
?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; use Dojo\Ninja as Ninja; $my_ninja = new Ninja();
當(dāng)我們想要使用另一個(gè)Ninja文件時(shí),就可以簡(jiǎn)單的如下操作:
use Training\Ninja as Ninja;
就是這樣!簡(jiǎn)單吧!
我想指出的最后一點(diǎn)是,通常在使用命名空間時(shí),你要遵循命名空間的文件夾結(jié)構(gòu),以便更容易找到這些文件的位置。
所以我們的Training / Ninja.php文件可能會(huì)存在于Training文件夾中。
因此,想要繼續(xù)在項(xiàng)目中添加易于記憶和常見的類名。只要記得給他們一個(gè)命名空間!
標(biāo)簽:呼倫貝爾 萊蕪 溫州 綏化 金華 安康 清遠(yuǎn) 紹興
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《實(shí)例講解PHP中使用命名空間》,本文關(guān)鍵詞 實(shí)例,講解,PHP,中,使用,命名,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。