首頁  >  文章  >  後端開發  >  筆記019 透過 spl_autoload_register 實現自動加載

筆記019 透過 spl_autoload_register 實現自動加載

黄舟
黄舟原創
2016-12-26 10:13:351124瀏覽

spl_autoload_register

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_register — 註冊給定的函數作為__autoload 的實作

語法

語法[ , bool $prepend = false ]]] )

說明

透過這個函數,可以為載入的類別指定尋址方式,這樣就不用大批量地 require 和 include 了。系統會自動依照指定的規則,到對應的位置下面去尋找需要實例化的類別。雖然這個方法比較底層,在有框架的情況下,一般都不需要我們去做這些工作了。但是難免還是有要用的時候,比如我寫這個部落格的時候,我就自己需要搗騰腳本,這個時候,就繞不開了。下面的例子,就是我的腳本中要用的一個簡單的自動載入的程式。

範例

spl_autoload_register(function ($class) {
    $rootPath = realpath(sprintf('%s/..', __DIR__));
    $paths = array(        'src',
    );    foreach ($paths as $path) {        if (is_file(
            $file = $rootPath . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $class
            . '.php'
        )) {            include $file;            break;
        }
    }
});

注意,匿名函數是 PHP 5.3 以上 才可以用的,如果發現不能用,檢查一下自己的 PHP 版本。我這裡只是簡單地指定所有的類別在我的 src 資料夾下尋找,類別名稱與檔案名稱完全一致。

 以上就是筆記019 透過 spl_autoload_register 實現自動載入的內容,更多相關內容請關注PHP中文網(www.php.cn)!



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn