淺談PHP 的八卦兩則_PHP教程
推薦:解析20款 Web Mail PHP開(kāi)源項(xiàng)目如今互聯(lián)網(wǎng)巨頭提供的企業(yè)應(yīng)用套件中郵件托管是必備服務(wù),而且還始終秉承免費(fèi)的優(yōu)良光榮傳統(tǒng),最為讓人熟識(shí)的恐怕非瘟多死里屋管理中心和股溝企業(yè)應(yīng)用莫屬了。既然有現(xiàn)成的、優(yōu)質(zhì)的、免費(fèi)的服務(wù),那為什么我們還要自己架設(shè)郵件系統(tǒng)呢?理由很簡(jiǎn)單蛋疼。當(dāng)然
PHP5.3 的正式發(fā)布,又重新關(guān)注起其語(yǔ)言本身。細(xì)心的朋友可能發(fā)現(xiàn),PHP5.3 增加了 goto 語(yǔ)句,這在結(jié)構(gòu)化語(yǔ)言今天似乎是有點(diǎn)不可思議的事情。
按照官方的說(shuō)法,其實(shí)這和我們傳統(tǒng)理解的 goto 還是有所差別。PHP 5.3 中的 goto 語(yǔ)句只能在腳本文件以及上下文中跳轉(zhuǎn),因此它無(wú)法從某函數(shù)或方法跳到其他的函數(shù)或者方法 -- 這不得不讓我懷疑是否是“妥協(xié)”的結(jié)果。
看來(lái) PHP 語(yǔ)言的設(shè)計(jì)者對(duì) goto 語(yǔ)句應(yīng)用是方便從從多重循環(huán)體中跳出(在其文檔中的例子也說(shuō)明了這點(diǎn))。但其實(shí)這功能的本身也引發(fā)了不少的爭(zhēng)議,個(gè)人也隱約的聞到了潘多拉身上的香水味。
其實(shí)“好事者”早在 2007 年就開(kāi)始“期待”這項(xiàng)“新功能”,相信他現(xiàn)在會(huì)很開(kāi)心。不過(guò)有趣的是這篇文章的留言給原作者潑了盆冷水。的確,goto 語(yǔ)句所能完成的功能,其實(shí)善用 switch 也能做到,而且更有可讀性。
不過(guò)不管怎么樣,語(yǔ)言本身僅僅是工具而已。從程序的本身角度考慮(不僅僅是 PHP),如果有過(guò)多的循環(huán)等的語(yǔ)塊嵌套,那就說(shuō)明這段代碼必須需要優(yōu)化了。到底應(yīng)不應(yīng)該使用 goto 語(yǔ)句,其實(shí)本人和其他的 PHP 人員也有過(guò)討論。
最終,大家較為統(tǒng)一的觀點(diǎn)就是,避免使用。
“PHP 的 10 宗罪”
老外較起真來(lái)真的非常讓人受不了,這不又有好事者總結(jié)了 PHP 語(yǔ)言本身語(yǔ)法的 “10 宗罪”。其實(shí),我個(gè)人這與其稱為“Mistake”,還說(shuō)是 PHP 提供的“美麗的陷阱”。
例如,文中提到的有關(guān)單引號(hào)和雙引號(hào)的變量轉(zhuǎn)義問(wèn)題。其實(shí)這一爭(zhēng)論的聲音從學(xué) PHP 起就在耳畔充斥。甚至記得當(dāng)年還有道經(jīng)典的面試題,就是考單引號(hào)和雙引號(hào)的的速度孰快 -- 回過(guò)頭來(lái)看,這論點(diǎn)就猶如此道面試題一樣,是沒(méi)有任何的意義的。
但這不代表文中的些“Mistake”都可以當(dāng)作笑談,有些是的確需要注意的。例如
|
以下為引用的內(nèi)容: $i = 0; |
這樣的寫法。對(duì)應(yīng)的其實(shí)還有 for 語(yǔ)句,我們可能“手殘”多寫了個(gè)分號(hào)(不要不承認(rèn)),那么就只能祈禱 set_time_limit 的數(shù)字小些了。
文中指出的其他些問(wèn)題,也是我們需要納入思考的范圍中,例如數(shù)據(jù)庫(kù)存取的緩存問(wèn)題。為何 PHP 為何至今沒(méi)有數(shù)據(jù)池這樣的概念,其實(shí)這需要從 PHP 這門語(yǔ)言本身的設(shè)計(jì)哲學(xué)出發(fā)了。從此問(wèn)題其實(shí)可以引申?duì)帪楹?PHP 沒(méi)有走向 Java 的套路,好吧這問(wèn)題又可以爭(zhēng)論一番了。
文中還有其他類似的條目,都非常的具有爭(zhēng)議(也許搞不好這就是作者的初衷),但無(wú)論怎么說(shuō),其提出的幾個(gè)問(wèn)題都是值得我們?nèi)ニ伎嫉摹?/p>
分享:揭秘學(xué)好java開(kāi)發(fā)的關(guān)鍵7步1、多動(dòng)手 學(xué)編程語(yǔ)言不僅僅是從理論上的學(xué)習(xí),更重要的是要利用這門語(yǔ)言為你的思想服務(wù)。理解這門語(yǔ)言是首要的,但是要達(dá)到心領(lǐng)神會(huì)、融會(huì)貫通就必須勤動(dòng)手,多去時(shí)間,多編一些例子。計(jì)算機(jī)科學(xué)是注重實(shí)踐的學(xué)科,成功的軟件開(kāi)發(fā)人員無(wú)不經(jīng)過(guò)大量的上機(jī)鍛
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-淺談PHP 的八卦兩則
。