萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php程序員必看php優化效率方法 (1/4)

php程序員必看php優化效率方法 (1/4)

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內部字符串操作函數的情況下,不要用正則表達式;
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;
?>

首頁 1 2 3 4 末頁

copyright © 萬盛學電腦網 all rights reserved