日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
正反博弈PHP命名空間真的槽糕嗎?

在PHP 5.3中,最重要的一個(gè)新特性就是對(duì)命名空間引入,在此之前,PHP開(kāi)發(fā)者對(duì)于PHP中命名空間的實(shí)現(xiàn),已經(jīng)變得異常的渴望。當(dāng)PHP應(yīng)用開(kāi)始變得巨大,并且更加復(fù)雜的時(shí)候,命名空間是解決代碼沖突的必要手段。

創(chuàng)新互聯(lián)公司專注于小店網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供小店?duì)I銷型網(wǎng)站建設(shè),小店網(wǎng)站制作、小店網(wǎng)頁(yè)設(shè)計(jì)、小店網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造小店網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供小店網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

相關(guān)文章推薦:PHP命名空間規(guī)則解析及高級(jí)功能

批評(píng)者:混亂的PHP

像C#和Java這些語(yǔ)言,是被設(shè)計(jì)和遵循嚴(yán)格的語(yǔ)法標(biāo)準(zhǔn)的。PHP是演化的。最早的版本發(fā)布于1995年,版本號(hào)3,是面向過(guò)程的語(yǔ)言。PHP 4包含了最基本的面向?qū)ο螅鳳HP 5提供了合適的標(biāo)準(zhǔn)OOP模型,命名空間在版本PHP 5.3中被加入其中。

PHP批評(píng)者聲明說(shuō)這個(gè)語(yǔ)言是混亂的。函數(shù)名不一致(例如strpos,str_split,substr),對(duì)象處理是無(wú)用的,還有一些語(yǔ)法同其他語(yǔ)言相比,不是極其怪誕,就是異乎尋常。然而,PHP仍然保持著使用最廣泛的服務(wù)器端開(kāi)發(fā)語(yǔ)言的頭把交易。它的才華主要在下面的長(zhǎng)處:

◆初學(xué)者可以從簡(jiǎn)單的面向過(guò)程編程開(kāi)始。

◆他們無(wú)須觸及OOP技術(shù)仍然可以有所見(jiàn)數(shù)

10年前為PHP 3編寫的代碼仍然可以運(yùn)行在PHP 5.3下??赡苄枰恍┪⑿〉恼{(diào)整,但是很少需要大量重寫。PHP代碼可能并不總是可愛(ài)的、有邏輯的或者優(yōu)雅的,但是相比其他選擇它的開(kāi)發(fā)總是快捷和容易被理解的。

PHP命名空間的實(shí)現(xiàn)

不像C#和Java,PHP不得不保持沒(méi)有名字空間的代碼的兼容性。這個(gè)已經(jīng)被實(shí)現(xiàn),你可以選擇使用或者不使用命名空間。然而,如果你使用PHP 5.3或更高版本,我推薦使用命名空間,即使你在項(xiàng)目中只使用相同的名字。

使用namespace和use作為命名空間操作符看起來(lái)很有邏輯。一些開(kāi)發(fā)者可能不同意,但是在這種情況下它們?nèi)绾蚊鋵?shí)并不重要。***,回到反斜杠的問(wèn)題上。多數(shù)批評(píng)者人為這是丑陋的,難以閱讀,并且在Mac上難以輸入。即便如此,我仍然認(rèn)為它比曾經(jīng)提議過(guò)的兩個(gè)冒號(hào)要好。例如下面的靜態(tài)方法調(diào)用:

 
 
 
 
  1. // PHP 5.3 beta版靜態(tài)方法調(diào)用  
  2. echo ::App::Lib1::MyClass::WhoAmI();  
  3. // PHP 5.3正式版靜態(tài)方法調(diào)用  
  4. echo \App\Lib1\MyClass::WhoAmI(); 

第二行可以被快速錄入,更少的錯(cuò)誤可能,容易閱讀,并且容易理解。如果你在字符串之外看到反斜杠,你就知道那一定存在命名空間。

當(dāng)然,如果PHP使用“.”作為公共方法、靜態(tài)方法和命名空間會(huì)更好。這樣可以同Java、C#、JavaScript、Python和許多其他語(yǔ)言一致起來(lái)。不幸的是PHP的歷史和向下兼容讓這一切難以實(shí)現(xiàn)。

沒(méi)有語(yǔ)言是***的,而PHP更加不會(huì)是***語(yǔ)言中的一員。無(wú)論如何,命名空間已經(jīng)被很好的實(shí)現(xiàn),特別是考慮到它可能產(chǎn)生的限制和問(wèn)題。

文章作者通過(guò)分析PHP命名空間的實(shí)現(xiàn),來(lái)反擊那些PHP反對(duì)者的聲音,您是否了解PHP的命名空間為什么是這樣的呢?PHP的命名空間真的就那么槽糕嗎?作為PHP開(kāi)發(fā)者,您是如何認(rèn)為的呢?

原文作者:Craig Buckler

英文原文地址:http://www.sitepoint.com/blogs/2009/08/13/are-php-namespaces-bad/


網(wǎng)站名稱:正反博弈PHP命名空間真的槽糕嗎?
分享路徑:http://www.dlmjj.cn/article/codojdc.html