每天60s輕松搞定PHP之10個(gè)不可不知的小事項(xiàng)
1 多閱讀手冊(cè)和源代碼
沒(méi)什么比閱讀手冊(cè)更值得強(qiáng)調(diào)的事了–僅僅通過(guò)閱讀手冊(cè)你就可以學(xué)習(xí)到很多東西赡若,特別是很多有關(guān)于字符串和數(shù)組的函數(shù)虐沥。就在這些函數(shù)里面包括許多有用的功能墓猎,如果你仔細(xì)閱讀手冊(cè),你會(huì)經(jīng)常發(fā)現(xiàn)在以往的項(xiàng)目開(kāi)發(fā)過(guò)程中历葛,很多時(shí)候你在“重復(fù)發(fā)明輪子”,而實(shí)際上你只需要一個(gè)核心函數(shù)就可以完成相應(yīng)的功能。手冊(cè)是你的朋友半等。另外揍愁,現(xiàn)在有很多使用PHP開(kāi)發(fā)的開(kāi)源程序。為什么不去學(xué)習(xí)和借鑒呢杀饵?下載一份開(kāi)源的PHP應(yīng)用程序的源代碼莽囤,仔細(xì)閱讀它吧。也許越大的項(xiàng)目越值得去閱讀切距,雖然它們也許有更復(fù)雜的結(jié)構(gòu)和系統(tǒng)朽缎,但也有更詳細(xì)的解釋文檔。千鋒的PHP有嗎谜悟?
2 編寫(xiě)模塊化代碼
良好的PHP代碼應(yīng)該是模塊化的代碼话肖。PHP的面向?qū)ο蟮木幊坦δ苁且恍┨貏e強(qiáng)大的工具,可以把你的應(yīng)用程序分解成函數(shù)或方法葡幸。你應(yīng)該盡可能多的從你的應(yīng)用程序的服務(wù)器端分開(kāi)前端的HTML/CSS/JavaScript代碼最筒,你也可以在任何PHP框架上遵循MVC(模型-視圖-控制器)模式。
3 代碼編寫(xiě)規(guī)范
良好的PHP代碼應(yīng)該有一套完整的代碼編寫(xiě)規(guī)范蔚叨。通過(guò)對(duì)變量和函數(shù)的命名床蜘,統(tǒng)一的方法訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)和對(duì)錯(cuò)誤的處理,以及同樣的代碼縮進(jìn)方式等來(lái)達(dá)到編程規(guī)范蔑水,這樣可以使你的代碼更具可讀性邢锯。
4 編寫(xiě)可移植代碼
良好的PHP代碼應(yīng)該是可移植的。你可以使用php的現(xiàn)有功能搀别,如魔術(shù)引號(hào)和短標(biāo)簽弹囚。試著了解你的需求,然后通過(guò)適應(yīng)PHP特性來(lái)編寫(xiě)代碼讓代碼獨(dú)立领曼、可移植鸥鹉。
5 編寫(xiě)安全代碼
良 好的PHP代碼應(yīng)該是安全的。PHP5提供了出色的性能和靈活性庶骄。但是安全問(wèn)題完全在于開(kāi)發(fā)人員毁渗。對(duì)于一個(gè)專(zhuān)業(yè)的PHP開(kāi)發(fā)人員來(lái)說(shuō),深入理解重大安全漏 洞是至關(guān)重要的单刁,如:跨站點(diǎn)腳本(XSS)灸异、跨站請(qǐng)求偽造(CSRF)、代碼注入漏洞羔飞、字符編碼漏洞肺樟。通過(guò)使用PHP的特殊功能和函數(shù), 如:mysql_real_escape_string等等逻淌,你可以編寫(xiě)出安全的代碼么伯。
6 代碼注釋
代碼注釋是代碼的重要組成部分。通過(guò)代碼注釋可以知道該變量或函數(shù)是做什么的卡儒,這將在今后的代碼維護(hù)中十分有用田柔。
7 使用單引號(hào)代替雙引號(hào)
字符串始終使用單引號(hào)代替雙引號(hào)俐巴,以避免PHP搜索字符串內(nèi)的變量導(dǎo)致的性能下降。 用單引號(hào)代替雙引號(hào)來(lái)包含字符串硬爆,這樣做會(huì)更快一些欣舵。因?yàn)镻HP會(huì)在雙引號(hào)包圍的字符串中搜尋變量,單引號(hào)則不會(huì) 缀磕。
8 轉(zhuǎn)義字符串輸出
使用ENT_QUOTES作參數(shù)傳遞給htmlspecialchars函數(shù)缘圈,以確保單引號(hào)(')也轉(zhuǎn)換成HTML實(shí)體,這是一個(gè)好習(xí)慣袜蚕。
9 使用逗號(hào)分隔字符串輸出
通過(guò)echo語(yǔ)句輸出使用逗號(hào)(,)分隔的字符串准验,要比使用字符串連接操作符(.)的性能更好。
10 輸出前檢查傳來(lái)的值
輸出前檢查傳過(guò)來(lái)的值$_GET['query']廷没。使用isset或empty函數(shù),可以用來(lái)檢查變量是否為null值垂寥。
互聯(lián)網(wǎng)+時(shí)代颠黎,時(shí)刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible滞项。