簡體   English   中英

PHP基本(討厭)概念問題:常量與函數

[英]PHP basic (noobish) concept question: Constant vs. Function

我有一個全局“ functions.php”文件,其中包含在我的網站上使用的所有功能。

在性能,效率等方面–是直接調用這些函數之一還是將它們定義為常量而不是調用常量會更好嗎? (或者這有關系嗎?)

<?php echo site_root(); ?>

<?php echo SITEROOT; ?>

謝謝

這取決於site_root()確切功能。

  • 如果所有操作都非常簡單,例如從數組中讀取並返回一個字符串,則使用函數還是常量都沒有關系。 使用最適合您的方法。

  • 如果該函數執行諸如數據庫查找之類的昂貴操作,則明智的做法是只進行一次調用,將結果存儲在一個常量中,然后在代碼中使用它。

亞當,另一種選擇是使用靜態變量作為函數內部的緩存:

function site_root() {
    static $result = null;
    if (!is_null($result)) {
         return $result;
    }
    // code for defining and returning result only once
}

僅當代碼始終需要常量時才可以使用常量。 而且,如果您的代碼僅在此處或此處使用它,則不要將它們用作代碼,因為它將定義它們會降低您的主代碼的速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM