PHP編碼的幾個最佳實踐

2021-09-01 14:52:28 字數 1620 閱讀 7091

繼續說說php的幾個編碼優化

[b]1.用逗號連線echo字串[/b]

$name='orange';

$address='beijing';

echo 'hi,'.$name.'! welcome to '.$address;//慢

echo 'hi,',$name,'! welcome to ',$address;//快,建議方式

原因可以檢視兩者的opcode,用逗號的方式和用點號方式的opcode如下

[img]

[b]2.使用require還是require_once[/b]

老問題了,lerdof n年前就提出來了,建議用require,因為require_once發起少量的stat呼叫,我們可以通過ab來測試一下效率

#a.php檔案

require_once('classa.php');

require_once('classb.php');

require_once('classc.php');

echo 'end';

測試ab -c 10 -n 10000 http://localhost/orange/a.php 同時10個請求共請求10000次,結果如下:

[img]

#b.php檔案

require('classa.php');

require('classb.php');

require('classc.php');

echo 'end';

同樣測試測試ab -c 10 -n 10000 http://localhost/orange/b.php 同時10個請求共請求10000次,結果如下:

[img]

增加了近20的併發量!

[b]3.提前計算迴圈長度[/b]

如下**

$items=array(0,1,2,3,4,5,6,7,8,9);

for($i=0;$iage = $age;

}public function getage()

public function setname($name)

public function getname()

}$student=new student();

$start=microtime(true);

for($i=0;$i<100000;$i++)

echo microtime(true)-$start;

執行時間

[img]

#b.php檔案

/**

* 屬性public,直接賦值屬性

*/class student

$student=new student();

$start=microtime(true);

for($i=0;$i<100000;$i++)

echo microtime(true)-$start;

[img]

效率提公升至3000%..............................

關於編碼的若干最佳實踐

昨天 xx面試時,一道這樣的問題難住了我,就是 在這麼多年的編碼中,說說自己的最佳實踐。當時懵掉了,雖然看過很多敏捷開發 清潔之道 大全這些關於最佳實踐的書,但卻一條也說不出來。趁現在有時間,想想這個問題,總結一下自己的 最佳實踐。一致的 格式。形成自己的工具類。開發時,為了減少 量,多使用第三方的...

PHP加密最佳實踐

加密總是與安全密不可分,而每個phper都必須將應用安全作為必要的設計思路融入 中,以下是一些最佳實踐的建議。不要再使用md5,不要使用sha1,基本上已經沒有破解難度了。請使用password hash來雜湊密碼 php版本大於等於5.5,小於5.5請使用password compat庫 由於pa...

安全編碼最佳實踐 PHP及程式語言安全

企業應該避免使用php開發應用嗎?一些人認為,比起其它選擇,php太不安全了。whitehat security 白帽安全 公司最近發布了研究,他們使用自動化的工具檢視1700個web站點,看看安全bug的數量和建立站點使用的程式語言之間是否有任何關聯。總體的結論是,沒有一種語言是 最安全的 研究表...