PHP 單一實例設計模式與new 物件,消耗記憶體的比較
精選文章
Aug 31, 2012
Visitor 9321
Likes 0
class form {
private static $oForm;
// 單一實例
public static function instance() {
if (!self::$oForm) {
self::$oForm = new form();
}
return self::$oForm;
}
public function select($aArray, $aOption) {
// do something ......
}
public function radio($aArray, $aOption) {
// do something ......
}
public function checkbox($aArray, $aOption) {
// do something ......
}
}
$aStatus[0] = '上架';
$aStatus[1] = '下架';
for ($i=0; $i<10000; $i++) {
$oForm = form::instance();
echo $oForm->select($a, $o);
}
echo memory_get_usage(); // 1480256
for ($i=0; $i<10000; $i++) {
echo form::select($a, $o);
}
echo memory_get_usage(); // 1479656
for ($i=0; $i<10000; $i++) {
$oForm = new form();
return $oForm->{$m}($a, $o);
}
echo memory_get_usage(); // 1480016
精選文章
Aug 31, 2012
Visitor 9321
Likes 0