色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

優(yōu)化PHP代碼技巧的小結(jié)

優(yōu)化php代碼技巧的小結(jié)
1. 如果一個方法能被靜態(tài),那就聲明他為靜態(tài)的,速度可提高 1/4;
2. echo 的效率高于 print,因?yàn)?echo 沒有返回值,print 返回一個整型;
3. 在循環(huán)之前設(shè)置循環(huán)的最大次數(shù),而非在在循環(huán)中;
4. 銷毀變量去釋放內(nèi)存,特別是大的數(shù)組;
5. 避免使用像__get, __set, __autoload 等魔術(shù)方法;
6. requiere_once()比較耗資源;
7. 在 includes 和 requires 中使用絕對路徑,這樣在分析路徑花的時間更少;
8. 如果你需要得 sexinsex 到腳本執(zhí)行時的時間,$_SERVER['REQUSET_TIME']優(yōu)于 time();
9. 能使用字符處理函數(shù)的,盡量用他們,因?yàn)樾矢哂谡齽t;//
10. str_replace 字符替換比正則替換 preg_replace 快,但 strtr 比 str_replace 又快 1/4;
11. 如果一個函數(shù)既能接受數(shù)組又能接受簡單字符做為參數(shù),例如字符替換,并且參數(shù)列表
不是太長,可以考慮多用一些簡潔的替換語句,一次只替換一個字符,而不是接受數(shù)組
做為查找和替換參數(shù)。大事化小,1+1>2;
12. 用@掩蓋錯誤會降低腳本運(yùn)行速度;
13. $row['id']比$row[id]速度快 7 倍,建議養(yǎng)成數(shù)組鍵加引號的習(xí)慣;
14. 錯誤信息很有用;
15. 在循環(huán)里別用函數(shù),例如 For($x=0; $x < count($array); $x), count()函數(shù)在外面先計算;
16. 建立一個全局變量要比局部變量要慢 2 倍;
17. 建立一個對象屬性(類里面的變量)例如($this- >prop++)比局部變量要慢 3 倍;
18. 建立一個未聲明的局部變量要比一個初始化的局部變量慢 9-10 倍;
19. 明一個未被任何一個函數(shù)使用過的全局變量也會使性能降低( 和聲明相同數(shù)量的局部變
量一樣),php 可能去檢查這個全局變量是否存在;
20. 方法的性能和在一個類里面定義的方法的數(shù)目沒有關(guān)系,因?yàn)槲姨砑?10 個或多個方法
到測試的類里面(這些方法在測試方法的前后)后性能沒什么差異;
21. 在子類里方法的性能優(yōu)于在基類中;
22. 只調(diào)用一個參數(shù)并且函數(shù)體為空的函數(shù)運(yùn)行花費(fèi)的時間等于 7-8 次$localvar++運(yùn)算,而
一個類似的方法(類里的函數(shù))運(yùn)行等于大約 15 次$localvar++運(yùn)算;
23. 當(dāng)輸出字符串時用逗號代替點(diǎn)分割更快些。注意:這只對 echo 起作用,這個函數(shù)能接
受一些字符串作為參數(shù);
24. 在 apache 服務(wù)器里一個 php 腳本頁面比相應(yīng)的 HTML 靜態(tài)頁面生成至少要多花 2-10 倍
的時間,建議多用些靜態(tài) HTML 頁面和少量的腳步;
25. 除非你的安裝了緩存,不然你的 php 腳本每次被訪問都需要被重編譯。建議安裝個 php
緩存程序,這樣通過去除一些重復(fù)的編譯來很明顯的提高你 20-100%的性能;
26. 建議用 memcached,高性能的分布式內(nèi)存對象緩存系統(tǒng),提高動態(tài)網(wǎng)絡(luò)應(yīng)用程序性能,
減輕數(shù)據(jù)庫的負(fù)擔(dān);
27. 使用 ip2long()和 long2ip()函數(shù)把 IP 地址轉(zhuǎn)成整型存放進(jìn)數(shù)據(jù)庫而非字符型。這幾乎能降
低 1/4 的存儲空間。同時可以很容易對地址進(jìn)行排序和快速查找;
28. 使用 checkdnsrr()通過域名存在性來確認(rèn)部分 email 地址的有效性,這個內(nèi)置函數(shù)能保證
每一個的域名對應(yīng)一個 IP 地址;
29. 如果你在使用 php5 和 mysql4.1 以上的版本,考慮使用 mysql_*的改良函數(shù) mysqli_*;
30. 試著喜歡使用三元運(yùn)算符(?:);
31. 在你想在徹底重做你的項(xiàng)目前,看看 PEAR 有沒有你需要的。PEAR 是個巨大的資源庫,
很多 php 開發(fā)者都知道;
32. 使用 highlight_file()能自動打印一份很好格式化的頁面源代碼的副本;
33. 使用 error_reporting(0)函數(shù)來預(yù)防潛在的敏感信息顯示給用戶。理想的錯誤報告應(yīng)該被
完全禁用在 php.ini 文件里。可是如果你在用一個共享的虛擬主機(jī), php.ini 你不能修改,
那么你最好添加 error_reporting(0) 函數(shù),放在每個腳本文件的第一行 ( 或用
require_once()來加載)這能有效的保護(hù)敏感的 SQL 查詢和路徑在出錯時不被顯示;
34. 使用 gzcompress() 和 gzuncompress()對容量大的字符串進(jìn)行壓縮(解壓)在存進(jìn)( 取出)數(shù)
據(jù)庫時。這種內(nèi)置的函數(shù)使用 gzip 算法能壓縮到 90%;
35. 通過參數(shù)變量地址得引用來使一個函數(shù)有多個返回值。你可以在變量前加個“&”來表示
按地址傳遞而非按值傳遞;
36. 使用 strlen()因?yàn)橐{(diào)用一些其他操作例如 lowercase 和 hash 表查詢所以速度不是太好,
我們可以用 isset()來實(shí)現(xiàn)相似的功能,isset()速度優(yōu)于 strlen();

php技術(shù)優(yōu)化PHP代碼技巧的小結(jié),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 苗栗县| 互助| 中江县| 济南市| 云安县| 杭州市| 泾源县| 信阳市| 开远市| 台北县| 青冈县| 莫力| 华池县| 鄂托克前旗| 卢龙县| 琼结县| 信宜市| 南宁市| 合作市| 平和县| 德庆县| 隆尧县| 长沙市| 垣曲县| 万源市| 阆中市| 北川| 玉门市| 寿宁县| 台州市| 平塘县| 三台县| 株洲县| 迁安市| 田阳县| 辰溪县| 额济纳旗| 萍乡市| 聂拉木县| 平度市| 桂阳县|