TP5.1類的自動加載

TP5類的自動加載

學會了作用就是:可以在框架中任意地方創建類,並調用

類的自動加載代碼原理這裏就說不清了,我興趣的可以看看慕課網singwa老師的課:

https://coding.imooc.com/class/331.html

下面直接介紹如何使用:

類的加載文件路徑:項目根目錄\thinkphp\library\think\Loader.php

流程:index.php(入口文件)-》base.php-》Loader.php

1.如果關係到命名空間調用一個類:

在Loader.php文件中的register()方法裏對應的地方加入這個類的"首目錄"

        $rootPath = self::getRootPath();//獲取根目錄

        // 註冊命名空間定義(鍵是命名空間,鍵值是命名空間路徑)
        self::addNamespace([
            'think'  => __DIR__,
            'traits' => dirname(__DIR__) . DIRECTORY_SEPARATOR . 'traits',
            'script' => $rootPath.'script',
        ]);

這裏引入了根目錄下的"script"目錄,那麼則可調用"script"目錄裏的類或"script"目錄裏的文件夾下的類

 

2.如果不關係到命名空間,只關係到目錄調用一個類:

這種方法也適用於需要命名空間的,調用一個類的情況

在Loader.php文件中的register()方法裏對應的地方加入這個類的"首目錄"

        // 自動加載extend目錄(命名空間不需再加這個目錄,直接下面的文件夾開頭則行,必須是文件夾下類)
        self::addAutoLoadDir($rootPath . 'extend');
        self::addAutoLoadDir($rootPath . 'script');
        self::addAutoLoadDir($rootPath.'thinkphp'.DIRECTORY_SEPARATOR.'library'.DIRECTORY_SEPARATOR.'ali');//這樣不行
        self::addAutoLoadDir($rootPath.'thinkphp'.DIRECTORY_SEPARATOR.'library');//這樣纔行

這裏引入了根目錄下的"script"目錄,那麼則可以調用裏面的類,也可以用命名調用

3.關於類的調用,可看看:

https://blog.csdn.net/qq_41912505/article/details/99638955

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章