PHP被稱為 dirty but quick 的編程語言。盡管在其它編程語言使用者看來,PHP 程序並不簡潔美觀,但是我們可以通過一些優秀的編程習慣,也能讓PHP的代碼看起來比較舒服優雅。有哪些方法呢?下面逐一說下。
優秀的PHP代碼應該有清晰的結構。PHP面向對象的特性允許程序員將應用程序分解為函數或方法。如果代碼晦澀難懂,你也可以添加注釋,使代碼的功能一目了然。編碼時應盡量將前端代碼(HTML/CSS/JavaScript)與應用程序的服務端規則分開,或者你可以使用遵循MVC模式的PHP框架來構建你的應用程序。
優秀的PHP代碼應該具備統一的風格。比如,為變量和函數制定統一的命名規則,為循環任務(比如數據庫存取、錯誤處理)制定統一的接入標准,或者保持有規律的代碼縮進,這些編碼習慣都可以讓別人閱讀代碼更加輕松。
優秀的PHP代碼應該具有可移植性。程序員應學會運用PHP現有的特性(比如魔術引號和短標簽等),應該了解產品需求,適應PHP的特點,保證寫出的PHP代碼具有可移植性和跨平台性。
優秀的PHP代碼應該具有安全性。PHP5具有卓越的特性和靈活性,但應用程序的安全往往掌握在程序員的手中。作為專業的PHP開發人員,應該對安全漏洞有一些深入了解,常見的安全漏洞有跨站腳本攻擊(XSS)、跨站請求偽造(CSRF)、代碼注入漏洞和字符編碼漏洞等。使用PHP中的特定功能和函數(比如mysql_real_escape_string等)可以幫助程序員寫出安全的代碼。
代碼注釋是代碼中的重要組成部分,它解釋了函數運行的目的,這種注釋會在代碼以後的維護中提供非常有用的幫助。
應使用完整的起始標記,不推薦使用簡寫的起始標記。
由於PHP會對雙引號中的內容進行變量搜索,為了避免這種搜索帶來的性能影響,程序員應該使用單引號引用字符串。
應該在htmlspecialchars函數中使用ENT_QUOTES參數,保證單引號(')也可以被轉義。盡管沒有規定必須這樣做,但這是一個好習慣。
字符串連接符(.)可以將單一的字符串傳遞給echo語句進行輸出,與之相比,逗號可以實現echo語句中字符串的分別輸出,這對PHP來說是一個性能改善。
應該記得在輸出前檢查$_GET['query'] 的傳遞值。使用isset函數或是empty函數可以檢查變量值是否為空。