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