PHP語(yǔ)言需要避免的10大誤區(qū)
1. PHP是一種面向?qū)ο笳Z(yǔ)言,但面向?qū)ο蟛⒉粡氐? 這是一個(gè)完全錯(cuò)誤的觀點(diǎn)。那些認(rèn)為PHP不是徹底面向?qū)ο蟮某绦騿T,尤其是Java程序員,應(yīng)該接受一些關(guān)于PHP基礎(chǔ)的培訓(xùn)。他們會(huì)發(fā)現(xiàn)PHP中有大量面
1. PHP是一種面向?qū)ο笳Z(yǔ)言,但面向?qū)ο蟛⒉粡氐?/h2>
這是一個(gè)完全錯(cuò)誤的觀點(diǎn)。那些認(rèn)為PHP不是徹底面向?qū)ο蟮某绦騿T,尤其是Java程序員,應(yīng)該接受一些關(guān)于PHP基礎(chǔ)的培訓(xùn)。他們會(huì)發(fā)現(xiàn)PHP中有大量面向?qū)ο蟮奶匦?,例如接口、方法、抽象類等等。雖然早期的PHP版本對(duì)面向?qū)ο蟮闹С州^少,但PHP5已經(jīng)具備強(qiáng)大的面向?qū)ο蠊δ?。事?shí)上,結(jié)合PHP和面向?qū)ο缶幊炭梢允咕幋a變得非常簡(jiǎn)單。
2. PHP無(wú)法實(shí)現(xiàn)特定功能
這是一個(gè)含糊的誤解,開(kāi)發(fā)人員認(rèn)為PHP無(wú)法幫助他們實(shí)現(xiàn)一些特定功能,比如內(nèi)存訪問(wèn)或某些主要發(fā)行版沒(méi)有提供支持的功能。然而,事實(shí)是PHP是一種可擴(kuò)展的語(yǔ)言,你只需要使用C或C 編寫(xiě)相應(yīng)的擴(kuò)展即可。實(shí)際上,你甚至不需要自己動(dòng)手去創(chuàng)建擴(kuò)展,因?yàn)橐呀?jīng)有數(shù)以百計(jì)的可用擴(kuò)展可供使用,你只需要去尋找它們。
3. PHP是不安全的
開(kāi)發(fā)者對(duì)PHP的另一個(gè)誤解是認(rèn)為PHP網(wǎng)站和應(yīng)用程序是不安全的。然而,為什么你希望默認(rèn)情況下它就是安全的呢?為什么不編寫(xiě)安全的代碼呢?雖然確實(shí)存在許多不安全的PHP代碼,因?yàn)槌跏紝W(xué)習(xí)曲線簡(jiǎn)單且容易上手。所以作為開(kāi)發(fā)者,你需要盡可能保證代碼的安全性。盡管與.Net相比,PHP在默認(rèn)情況下缺少一些安全性特性,但如果你是一位經(jīng)驗(yàn)豐富的程序員,你其實(shí)不需要默認(rèn)情況下的安全幫助。包含文件通常是安全的,但你需要小心路徑的生成方式。對(duì)指令的深入理解可以幫助你編寫(xiě)更安全的代碼。
4. PHP不能適應(yīng)大型應(yīng)用
大型復(fù)雜應(yīng)用程序需要建立在可靠且高性能的語(yǔ)言之上,這是PHP在某種程度上沒(méi)有的。然而,如果你設(shè)計(jì)并開(kāi)發(fā)應(yīng)用程序的架構(gòu)穩(wěn)定,為什么還會(huì)對(duì)其性能和可擴(kuò)展性產(chǎn)生疑問(wèn)呢?事實(shí)上,像Facebook、維基百科和雅虎等頂級(jí)網(wǎng)站都是使用PHP構(gòu)建的,它們運(yùn)行良好,正如我們所期望的那樣。
5. PHP只能用于網(wǎng)站開(kāi)發(fā)
盡管這聽(tīng)起來(lái)合乎邏輯,因?yàn)镻HP是最常見(jiàn)的網(wǎng)站開(kāi)發(fā)語(yǔ)言,但事實(shí)上還有一些被稱為命令行界面的東西,可以確保你的PHP應(yīng)用程序可以在Web服務(wù)器之外運(yùn)行。即使是那些高度依賴CPU能力的應(yīng)用程序也可以使用PHP CLI來(lái)開(kāi)發(fā)。此外,如果你想使用PHP開(kāi)發(fā)桌面應(yīng)用程序,也不用擔(dān)心,使用特定的Windows擴(kuò)展即可實(shí)現(xiàn)。
6. 開(kāi)發(fā)過(guò)程慢
這是一個(gè)廣為流傳的錯(cuò)誤觀點(diǎn)。我不知道它的起源是什么?這個(gè)謠言可能源于早期的PHP代碼混亂且充斥著MySQL語(yǔ)句(雖然我們現(xiàn)在不會(huì)這樣使用)。問(wèn)題是為什么開(kāi)發(fā)過(guò)程會(huì)變慢呢?隨著大量的PHP框架出現(xiàn),開(kāi)發(fā)過(guò)程可以大大加速。毫無(wú)疑問(wèn),你可以在很短的時(shí)間內(nèi)開(kāi)發(fā)出復(fù)雜的程序。所以,使用PHP進(jìn)行開(kāi)發(fā)并不慢,特別是當(dāng)你使用PHP框架時(shí)。
7. 專業(yè)開(kāi)發(fā)人員不使用PHP
有人認(rèn)為PHP只適用于初學(xué)者,設(shè)計(jì)給那些不太認(rèn)真從事開(kāi)發(fā)的人。這種觀點(diǎn)與PHP的實(shí)際使用情況完全不符。有很多網(wǎng)絡(luò)應(yīng)用程序,包括一些大型應(yīng)用程序,都是使用PHP構(gòu)建的。所以這種說(shuō)法是完全錯(cuò)誤的。
8. 性能問(wèn)題
這是一個(gè)復(fù)雜的問(wèn)題。這不是一個(gè)誤解。就像硬幣有兩面一樣,性能問(wèn)題也有兩個(gè)方面。事實(shí)上,存在著許多糟糕的代碼,如隱式轉(zhuǎn)換、不適當(dāng)?shù)哪K使用、缺乏操作符重載等等,這些都可能影響PHP應(yīng)用程序的性能。然而,性能取決于你設(shè)計(jì)的架構(gòu)和編寫(xiě)的代碼!如果你具備足夠的能力,能夠使用這門(mén)語(yǔ)言來(lái)編寫(xiě)穩(wěn)定且高效的應(yīng)用程序。
9. 便宜沒(méi)好貨
這個(gè)觀點(diǎn)在邏輯上似乎站得住腳,但對(duì)于PHP來(lái)說(shuō)完全是一個(gè)誤解!事實(shí)上,PHP的最大優(yōu)勢(shì)就是免費(fèi)且開(kāi)源,這意味著大多數(shù)提供應(yīng)用開(kāi)發(fā)服務(wù)的開(kāi)發(fā)人員必須精通它。盡管免費(fèi)開(kāi)源會(huì)帶來(lái)一些問(wèn)題,但這也為使用它們服務(wù)的客戶提供了成本優(yōu)勢(shì)。與商業(yè)開(kāi)發(fā)語(yǔ)言相比,PHP的開(kāi)發(fā)成本較低,但這并不意味著它的質(zhì)量值得懷疑。與經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員一起工作,可以獲得性能更高的PHP應(yīng)用程序。
10. PHP言過(guò)其實(shí)
這是一個(gè)錯(cuò)誤的說(shuō)法。我不認(rèn)為是這樣,許多開(kāi)發(fā)人員也持有相同的觀點(diǎn)。
結(jié)束語(yǔ):這篇文章并不是所有PHP謬論的終結(jié)者。隨著PHP語(yǔ)言的不斷發(fā)展和增強(qiáng),誤解也會(huì)隨之增加。但請(qǐng)不要