再多次需要使用乙個變數的時候,我們可以使用類的靜態變數來儲存這個值,避免多次呼叫,多次計算導致效率下降!
<?php
class testexplame
public static function getmynumbername()
return "telmer_$sum"; }
public static function getallofname($number)
return $namearray;
}}
//如果我們使用如下方式呼叫,將會產生一大堆效率問題
require_once "test.php";
testexplame::getallofname(8000);
這個大概計算了一下接近15秒左右;
而如果我們將**變化一下,如下:時間會成為多少呢?
class testexplame
self::$numbername = self::getmynumbername();
return self::$numbername;
} public static function setmyname()
public static function getmynumbername()
return "telmer_$sum"; }
public static function getallofname($number)
return $namearray;
}}
再次來執行一次這個結果檢視一下時間
require_once "test.php";
testexplame::getallofname(8000);
測試了一下1秒之內就可以完成!
上面的例子有點類似於單例設計模式,但是這個並非是單例。
以上主要方法是新增了乙個getstaticnumbername方法,主要作用就是判斷這個頻繁使用的變數是否存在,如果存在則直接返回,就避免多次去計算該結果(該結果是保持不變的,如果有變化這樣是行不通的)。
因此在程式設計的時候,大家應該多考慮一下效率問題!像這種頻繁使用的變數,同時計算起來又比較耗時的運算,我們可以嘗試使用靜態變數儲存,以便二次使用。
PHP使用類「單例」靜態變數提高效率
再多次需要使用乙個變數的時候,我們可以使用類的靜態變數來儲存這個值,避免多次呼叫,多次計算導致效率下降!class testexplame public static function getmynumbername return telmer sum public static function ...
PHP類的靜態方法和靜態變數
在php中,訪問類的方法 變數有兩種方法 1.建立物件 object new class 然後使用 呼叫 object attribute function,前提是該變數 方法可訪問。2.直接呼叫類方法 變數 class attribute function,無論是靜態 非靜態都可以。但是有前提條件...
單例模式與靜態變數的區別
單例的特點 保證某類只存在唯一例項。該類本身完成自身的初始化。獲取該唯一例項的方式非常明確,可以通過該類本身定義的靜態方法getinstance 獲取該類的唯一例項引用。靜態變數定義某類的例項引用特點 該類的例項引用的靜態變數可定義在任何文件類當中。獲取該類的例項引用的靜態變數,可以通過定義該靜態變...