簡體   English   中英

僅在前一個自動加載功能未能找到可加載的類之后,才如何自動加載作曲家類?

[英]How do I do to autoload composer classes only after the former autoload function failed to find a loadable class?

我正在接管一個使用自定義框架的項目。 內置,您可以找到世界上最常見的PHP自動加載功能:

function __autoload($class_name) {
    include APP_PATH . '/model/' . $class_name . '.php';
}

現在,我想安裝作曲家。 僅在前一個自動加載功能未能找到可加載的類之后,才如何自動加載作曲家類?

事實證明,有一種方法可以將自動加載器功能注冊為將被調用的函數堆棧,直到一個成功為止。 最后一個參數自動加載器功能添加到當前堆棧中。

spl_autoload_register('app_autoload', false, true);

但是,要進行堆疊,它當然需要不使用魔術語法( __autoload() ),並且還必須被識別為“不成功”,該函數必須不包含文件。 所以我稍微改變了原來的功能:

function app_autoload($class_name) {
    $file = APP_PATH . '/model/' . $class_name . '.php';
    if (file_exists($file)) {
        include $file;
    }
    return false;
}

它起到了魅力。

暫無
暫無

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

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