《PHP實例:注意!PHP 7中不要做的10件事》要點:
本文介紹了PHP實例:注意!PHP 7中不要做的10件事,希望對您有用。如果有疑問,可以聯系我們。
切記,在PHP 7中不要做的10件事PHP編程
1. 不要使用 mysql_ 函數?
PHP編程
這一天終于來了,從此你不僅僅“不應該”使用mysql_函數.PHP 7 已經把它們從核心中全部移除了,也就是說你需要遷移到好得多的mysqli_函數,或者更靈活的 PDO 實現.
PHP編程
?PHP編程
2. 不要編寫垃圾代碼?
PHP編程
這一條可能易于理解,但是會變得越來越重要,因為 PHP 7 的速度提升可能會隱藏你的一些問題.不要僅僅滿足于你的站點速度,因為遷移到 PHP 7 才讓它變快.?
PHP編程
為了理解速度有多重要,以及如何把事情做得更好,請看一看我們的文章速度優化入門指南.?
PHP編程
作為一名開發者,你應該總是確保按需加載腳本,盡可能連接它們,編寫高效的數據庫查詢,盡可能使用緩存,以及其它.?
PHP編程
3. 不要在文件末尾使用 PHP 閉合標簽?
PHP編程
你可以看一看,當一個文件以 PHP 代碼結尾時,WordPress 多數核心代碼都把末尾的 PHP 標簽去掉了.實際上,Zend 框架特別禁止了它.PHP 并不需要文件末尾的閉合標簽,并且我們可以通過去掉它來保證不會在后面添加任何的空白字符.?
PHP編程
4. 不要做不必要的引用傳遞?
PHP編程
我個人不喜歡引用傳遞.我知道有時候它很實用,但是其它情況下它使代碼變得難懂,并且更難預測結果.?
PHP編程
據說一些人認為它使代碼運行更快,但是根據一些 PHP 高級程序員所說,這并不正確.?
PHP編程
說明引用為什么不好的一個例子是,PHP 內建了shuffle()和sort().它們修改原始數組,而不是返回處理后的數組,這很不合邏輯.?
PHP編程
5. 不要在循環中執行查詢?
PHP編程
在循環中執行查詢非常浪費.它給你的系統施加不必要的壓力,并且可能能夠在循環外部更快獲得相同結果.當我遇到需要這樣的情況時,我通常會使用兩個分離的查詢來解決問題,我會使用它們來構建數據數組.之后我會遍歷數組,并不需要在這個過程中執行查詢.?
PHP編程
由于 WordPress 適用于這里,它可能有一些例外.雖然get_post_meta() 會從數據庫獲取大量數據,如果你正在遍歷某個特殊博文的元數據你可以在循環中使用它.這是因為當你第一次調用它的時候,WordPress實際上會獲取所有元數據并緩存它們.后續的調用使用這些緩存數據,沒有數據庫的調用.?
PHP編程
弄懂這些的最佳方式是閱讀函數文檔,以及使用類似 Query Monitor 的工具.?PHP編程
6. 不要在 SQL 查詢中使用 *?
PHP編程
當然,這個更像 MySQL 的問題,但是我們習慣在 PHP 中編寫 SQL 代碼,所以都差不多.無論如何,如果可以避免的話,不要在 SQL 查詢里使用通配符,尤其是數據庫有很多列的時候.?
PHP編程
你應該明確指定需要哪些行,并且僅僅獲取它們.這有助于減少所用資源,保護數據,以及讓事情變得盡可能清晰.?
PHP編程
對于 SQL,你需要了解所有可用的函數,并且盡可能測試其速度.在計算均值、求和或計算類似數值時,要使用 SQL 函數而不是 PHP 函數.如果你不確定某個查詢的速度,測試它并且嘗試一些其它的編譯 ― 之后使用最好的那個.?PHP編程
7. 不要信任用戶輸入?
PHP編程
信任用戶輸入是不明智的.始終校驗、過濾、轉義、檢查并留好退路.用戶數據存在三個問題:我們開發者并沒有考慮每種可能性,它通常不正確,以及它可能是蓄意破壞.?
PHP編程
經過周密考慮的系統可以防護這些威脅.要確保使用類似filter_var()的內建函數檢查適當的值,以及在處理數據庫時轉義(或預編譯).?
PHP編程
WordPress 擁有一些函數來解決問題.詳見文章校驗、轉義和過濾用戶數據.?PHP編程
8. 不要故作聰明?
PHP編程
你的目標應該是編寫優雅的代碼,來更清晰地表達你的意圖.你可能能夠通過將任何東西縮短為一個單詞的變量,使用多層的三元邏輯,以及其它手段,從每個頁面中優化 0.01 秒.但這只會給你和你周圍的人產生大麻煩.?
PHP編程
合理命名變量,為代碼編寫文檔,優先選擇清晰而不是簡潔.甚至還可以更好,使用標準的面向對象代碼,它本身或多或少就是文檔,不需要一大堆內聯數值.?PHP編程
9. 不要重新發明輪子?
PHP編程
PHP 到現在為止有很長時間了,網站被造出來的時間更長.很可能無論你需要造出什么,一些人之前早就造出來了.不要害怕向他人尋求支持,Github是你的好朋友,Composer也是,Packagist也是.?
PHP編程
從日志工具到調色工具,從性能分析器到單元測試框架,從 Mailchimp API 到 Twitter Bootstrap,每個東西都可以通過按下按鍵(或者敲下命令)來獲取,使用它們吧!?PHP編程
10. 不要忽略其它語言?
PHP編程
如果你是個 PHP 程序員,現在有個好機會去至少了解 HTML、CSS、JavaScript 和 MySQL.當你能夠更好地處理這些語言時,就是重新學習 JavaScript 的時機了.JavaScript 并不是 jQuery,你應該合理地學習 JavaScript 來更高效地使用它.?
PHP編程
我也打算向你推薦學習面向對象的 PHP,它可以節省時間,并且在代碼規模更大時會變得更好.對于類似 C# 和 Java 的語言,在你了解 OOP 之后,它們也更易于理解.?
PHP編程
通過了解包管理器、構建腳本、CoffeeScript、LESS、SASS、YAML 、腳本引擎和其它強大的工具來擴展你的知識面.我強烈向你推薦看一看其它框架,尤其是 Laravel.?
PHP編程
當你使用它們出色完成任務時,學習 Ruby、RoR、Android、iPhone 和 Windows Phone 應用開發如何?你可能會認為這毫無意義,因為它們在你的舒適區和工作所需范圍之外,但是這就是它們的意義.每種語言都有一些要學習的實用的東西,以及從沒碰到的新知識.所有 PHP 頂級開發者都懂得很多其它編程語言,這并非偶然.
PHP編程
?以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持維易PHP.PHP編程
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3801.html