php程式員必看php最佳化效率方法 (1/4)

來源:互聯網
上載者:User

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;
?>

首頁 1 2 3 4 末頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.