PHP 優化筆記-可以直接存取就不要用函式
*除非有特殊的理由,否則不需要用方式 (function) 設定或取出類 (class)中的變數。
例如:
class print_str{
public $tag_str='';
public function setStr($str){
$this->tag_str=$str;
}
public function getStr(){
return $this->tag_str;
}
}
這樣在執行時需要
$my_str = new print_str(); //製作一個新物件
$my_str->setStr('測試');
/*此動作過程大致如下:
1.從物件中找出 function
2.提撥記憶體區塊準備執行 function ,
3.執行function ,發現是要讀取物件中的值,找到物件中指定 value 值的記憶體空間,取出值,
4.返回取出值。
*/
可以看到為了一個設定或取出值的動作,實際上得進行許多動作。
如果只是要單純設定與取出用以下方法比較快速。
$my_str = new print_str(); //建立新物件
$my_str->tag_str = '測試';
當然如果再輸入、輸出時有必要做變數檢查或修正,用 function 就是必要的了。
例如:
class print_str{
public $tag_str='';
public function setStr($str){
$this->tag_str=$str;
}
public function getStr(){
return $this->tag_str;
}
}
這樣在執行時需要
$my_str = new print_str(); //製作一個新物件
$my_str->setStr('測試');
/*這個動作過程大致如下:
1.從物件中找出 function
2.提撥記憶體區塊準備執行 function ,
3.執行function ,發現是要存到物件中的值,把輸入值帶入 class 的 value、
4.關閉function 記憶體(實際上要看系統設定,有時候並不會釋出記憶體好讓下一次執行更快速,但是這樣很佔記憶體[內存]空間)。*/
echo $my_str->getStr();1.從物件中找出 function
2.提撥記憶體區塊準備執行 function ,
3.執行function ,發現是要存到物件中的值,把輸入值帶入 class 的 value、
4.關閉function 記憶體(實際上要看系統設定,有時候並不會釋出記憶體好讓下一次執行更快速,但是這樣很佔記憶體[內存]空間)。*/
/*此動作過程大致如下:
1.從物件中找出 function
2.提撥記憶體區塊準備執行 function ,
3.執行function ,發現是要讀取物件中的值,找到物件中指定 value 值的記憶體空間,取出值,
4.返回取出值。
*/
可以看到為了一個設定或取出值的動作,實際上得進行許多動作。
如果只是要單純設定與取出用以下方法比較快速。
$my_str = new print_str(); //建立新物件
$my_str->tag_str = '測試';
/*
1.在物件中找出預留給值的記憶體空間,一般初始值預留空間並不大,可以修改設定讓預留空間變大以加快執行,或變小以節省系統資源。
2.把輸入值放入記憶體。結束
*/
echo $my_str->tag_str;1.在物件中找出預留給值的記憶體空間,一般初始值預留空間並不大,可以修改設定讓預留空間變大以加快執行,或變小以節省系統資源。
2.把輸入值放入記憶體。結束
*/
/*
1.在物件中找到值的記憶體位置。
2.把尋到的值帶給 echo 執行輸出。結束
*/
雖然就表面的 php 語法來看都是三行,實際上系統要執行的功是完全不同的,因此可以直接存取就不要用函式!1.在物件中找到值的記憶體位置。
2.把尋到的值帶給 echo 執行輸出。結束
*/
當然如果再輸入、輸出時有必要做變數檢查或修正,用 function 就是必要的了。