7.1、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用 file_get_contents,因為他的效率高得多!但是要注意file_get_contents在開啟一個url檔案時候的php教程版本問題;
2、盡量的少進行檔案操作,雖然php的檔案操作效率也不低的;
3、最佳化select sql語句,在可能的情況下盡量少的進行insert、update操作(在update上,我被惡批過);
4、儘可能的使用php內建函式(但是我卻為了找個php裡面不存在的函數,浪費了本可以寫出一個自訂函數的時間,經驗問題啊!);
5、迴圈內部不要聲明變數,尤其是大變數:對象(這好像不只是php裡面要注意的問題吧?);
6、多維陣列盡量不要迴圈嵌套賦值;
7、在可以用php內部字串操作函數的情況下,不要用Regex;
8、foreach效率更高,盡量用foreach代替while和for迴圈;
9、用單引號替代雙引號引用字串;
10、“用i+=1代替i=i+1。符合c/c++的習慣,效率還高”;
11、對global變數,應該用完就unset()掉;
12、在for或者foreach中,用 $temparray[] = $field代替 $temparray[count($temparray)] = $field
13、靜態調用的成員一定要定義成 static (php5 only)
貼士:php 5 引入了靜態成員的概念,作用和 php 4 的函數內部靜態變數一致,但前者是作為類的成員來使用。靜態變數和 ruby 的類變數(class variable)差不多,所有類的執行個體共用同一個靜態變數。
quote:
複製代碼 代碼如下:
// php code highliting for cu by dz902
<?php
class foo {
function bar() {
echo 'foobar';
}
}
$foo = new foo;
// instance way
$foo->bar();
// static way
foo::bar();
?>
靜態地調用非 static 成員,效率會比靜態地調用 static 成員慢 50-60%。主要是因為前者會產生 e_strict 警告,內部也需要做轉換。
使用類常量 (php5 only)
貼士:php 5 新功能,類似於 c++ 的 const。
使用類常量的好處是:
- 編譯時間解析,沒有額外開銷
- 雜湊表更小,所以內部尋找更快
- 類常量僅存在於特定「命名空間」,所以雜湊名更短
- 代碼更乾淨,使除錯更方便
(暫時)不要使用 require/include_once
require/include_once 每次被調用的時候都會開啟目標檔案!
- 如果用絕對路徑的話,php 5.2/6.0 不存在這個問題
- 新版的 apc 緩衝系統已經解決這個問題
檔案 i/o 增加 => 效率降低
如果需要,可以自行檢查檔案是否已被 require/include。
不要調用毫無意義的函數
有對應的常量的時候,不要使用函數。
quote:
複製代碼 代碼如下:
// php code highliting for cu by dz902
<?php
php_uname('s') == php_os;
php_version() == php_version;
php_sapi_name() == php_sapi;
?>