如何讓PHP編碼更加好看利于閱讀
寫出優(yōu)秀的程序代碼是一門藝術(shù),要想如此,就必須在一開始就養(yǎng)成良好的編程習(xí)慣。良好的編程習(xí)慣不僅有助于項目初期的設(shè)計(如模塊化),還可以使你編寫的代碼更易于理解,從而使代碼的維護(hù)工作更輕松、更省力。不好的編程習(xí)慣則會造成代碼bug,并且會使以后的維護(hù)工作困難重重。
本文以PHP語言為例,介紹一些良好的編程習(xí)慣,希望能夠?qū)δ阌兴鶐椭?/p>
1. 規(guī)劃代碼結(jié)構(gòu)
優(yōu)秀的PHP代碼應(yīng)該有清晰的結(jié)構(gòu)。PHP面向?qū)ο蟮奶匦栽试S程序員將應(yīng)用程序分解為函數(shù)或方法。如果代碼晦澀難懂,你也可以添加注釋,使代碼的功能一目了然。編碼時應(yīng)盡量將前端代碼(HTML/CSS/JavaScript)與應(yīng)用程序的服務(wù)端規(guī)則分開,或者你可以使用遵循MVC模式的PHP框架來構(gòu)建你的應(yīng)用程序。
2. 編碼風(fēng)格統(tǒng)一
優(yōu)秀的PHP代碼應(yīng)該具備統(tǒng)一的風(fēng)格。比如,為變量和函數(shù)制定統(tǒng)一的命名規(guī)則,為循環(huán)任務(wù)(比如數(shù)據(jù)庫存取、錯誤處理)制定統(tǒng)一的接入標(biāo)準(zhǔn),或者保持有規(guī)律的代碼縮進(jìn),這些編碼習(xí)慣都可以讓別人閱讀代碼更加輕松。
3. 可移植性
優(yōu)秀的PHP代碼應(yīng)該具有可移植性。程序員應(yīng)學(xué)會運用PHP現(xiàn)有的特性(比如魔術(shù)引號和短標(biāo)簽等),應(yīng)該了解產(chǎn)品需求,適應(yīng)PHP的特點,保證寫出的PHP代碼具有可移植性和跨平臺性。
4. 代碼安全性
優(yōu)秀的PHP代碼應(yīng)該具有安全性。PHP5具有卓越的特性和靈活性,但應(yīng)用程序的安全往往掌握在程序員的手中。作為專業(yè)的PHP開發(fā)人員,應(yīng)該對安全漏洞有一些深入了解,常見的安全漏洞有跨站腳本攻擊(XSS)、跨站請求偽造(CSRF)、代碼注入漏洞和字符編碼漏洞等。使用PHP中的特定功能和函數(shù)(比如mysql_real_escape_string等)可以幫助程序員寫出安全的代碼。
5. 添加注釋
代碼注釋是代碼中的重要組成部分,它解釋了函數(shù)運行的目的,這種注釋會在代碼以后的維護(hù)中提供非常有用的幫助。
6. 避免簡寫標(biāo)記
應(yīng)使用完整的起始標(biāo)記,不推薦使用簡寫的起始標(biāo)記。
7. 用單引號代替雙引號
由于PHP會對雙引號中的內(nèi)容進(jìn)行變量搜索,為了避免這種搜索帶來的性能影響,程序員應(yīng)該使用單引號引用字符串。
8. 轉(zhuǎn)義輸出
應(yīng)該在htmlspecialchars函數(shù)中使用ENT_QUOTES參數(shù),保證單引號(')也可以被轉(zhuǎn)義。盡管沒有規(guī)定必須這樣做,但這是一個好習(xí)慣。
9. 使用逗號隔開字符串輸出
字符串連接符(.)可以將單一的字符串傳遞給echo語句進(jìn)行輸出,與之相比,逗號可以實現(xiàn)echo語句中字符串的分別輸出,這對PHP來說是一個性能改善。
10. 在輸出前檢查傳遞值
應(yīng)該記得在輸出前檢查$_GET['query'] 的傳遞值。使用isset函數(shù)或是empty函數(shù)可以檢查變量值是否為空。
相關(guān)文章
PHP API接口必備之輸出json格式數(shù)據(jù)示例代碼
這篇文章主要給大家介紹了關(guān)于PHP API接口必備之輸出json格式數(shù)據(jù)的相關(guān)資料文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
解決更換PHP5.4以上版本后Dedecms后臺登錄空白問題的方法
為什么會出現(xiàn)更換PHP5.4以上版本后Dedecms后臺登錄空白的情況,本文將給大家詳細(xì)分析,找出真正原因以及解決辦法。2015-10-10
PHP中Socket連接及讀寫數(shù)據(jù)超時問題分析
這篇文章主要介紹了PHP中Socket連接及讀寫數(shù)據(jù)超時問題,分析了Socket連接的相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下2016-07-07
PHP+Apache環(huán)境中如何隱藏Apache版本
以PHP+Apache服務(wù)器環(huán)境為例,給大家講解如何能夠隱藏Apache的版本號以及具體做法。2017-11-11
PHP獲取指定函數(shù)定義在哪個文件中以及其所在的行號實例
這篇文章主要介紹了PHP獲取指定函數(shù)定義在哪個文件中以及其所在的行號實例,需要的朋友可以參考下2014-05-05

