實(shí)例講解PHP中使用命名空間
讓我給你一個(gè)類的簡單例子:
<?php namespace Dojo; class Ninja { }
在上面的示例中,我們?cè)贒ojo命名空間中創(chuàng)建了一個(gè)名為Ninja的新類。如果我們沒有使用命名空間,并且我們的應(yīng)用程序中包含了另一個(gè)名為Ninja的類,那么我們將得到一個(gè)錯(cuò)誤,說明我們不能重新聲明類。
那么命名空間就可以解決這個(gè)問題。我們可以創(chuàng)建另一個(gè)類,像這樣:
<?php namespace Training; class Ninja { }
現(xiàn)在,如果我們將這兩個(gè)文件都包含在應(yīng)用程序中,就可以很容易地區(qū)分我們想要使用哪個(gè)Ninja類。
作為一個(gè)例子,這里有一些代碼,說明我們將如何使用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è)類是不同的,可能具有不同的功能,因此命名空間允許我們使用相同的類名,并通過它們的名稱空間對(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í),就可以簡單的如下操作:
use Training\Ninja as Ninja;
就是這樣!簡單吧!
我想指出的最后一點(diǎn)是,通常在使用命名空間時(shí),你要遵循命名空間的文件夾結(jié)構(gòu),以便更容易找到這些文件的位置。
所以我們的Training / Ninja.php文件可能會(huì)存在于Training文件夾中。
因此,想要繼續(xù)在項(xiàng)目中添加易于記憶和常見的類名。只要記得給他們一個(gè)命名空間!
相關(guān)文章
PHP+Mysql無刷新問答評(píng)論系統(tǒng)(源碼)
自己寫的一個(gè)評(píng)論系統(tǒng)源碼分享給大家,包括有表情,還有評(píng)論機(jī)制,代碼簡單易懂,需要的朋友參考下2016-12-12yii2 在控制器中驗(yàn)證請(qǐng)求參數(shù)的使用方法
這篇文章主要介紹了yii2 在控制器中驗(yàn)證請(qǐng)求參數(shù)的使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06網(wǎng)頁游戲開發(fā)入門教程二(游戲模式+系統(tǒng))
網(wǎng)頁游戲開發(fā)入門教程二(游戲模式+系統(tǒng))2009-11-11ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join實(shí)例
這篇文章主要介紹了ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join的方法,實(shí)例展示了ThinkPHP中query方法的使用技巧,需要的朋友可以參考下2014-12-12Zend Framework動(dòng)作助手FlashMessenger用法詳解
這篇文章主要介紹了Zend Framework動(dòng)作助手FlashMessenger用法,分析了動(dòng)作助手FlashMessenger的功能,并結(jié)合實(shí)例形式演示了FlashMessenger的使用技巧,需要的朋友可以參考下2016-03-03在win7中搭建Linux+PHP 開發(fā)環(huán)境
這篇文章會(huì)以一個(gè)概覽的形式介紹我的 PHP 開發(fā)環(huán)境,列出我使用的工具,但配置過程不會(huì)太詳細(xì)。有需要的朋友可以參考下。2014-10-10