Composer實現項目的自動加載


Composer管理依賴包,實現自動加載

composer通過require、remove命令對項目進行依賴包的添加與刪除。

composer通過對項目根目錄下的composer.json文件的配置,可以實現PSR-4自動加載的規范。

composer.json架構詳解,此處有詳細介紹如何配置該文件。

通過對TP5.1的源碼進行學習,TP5的自動加載主要是根據composer install命令執行后composer在vendor目錄下生產的ClassLoader類進行重寫。Composer自動加載機制,是建立命名空間與文件相對於項目根目錄路徑的映射關系,再通過spl_autoload_register方法注冊系統的自動加載,在自動加載 邏輯當中,最核心的是怎么樣根據上面生成的路徑,查找到相應的文件,並include(包含)進來。

composer自動加載詳細流程:

● 配置根目錄下的composer.json文件中的autoload的自動加載映射規則。

● 調用composer install/update 命令,生成vendor/composer文件夾以及相關的文件。其中命名空間與文件路徑的映射保存在autoload_psr4.php文件中。同時生成ClassLoader.php文件,該文件是自動加載的工具類,通過解析命名空間,查找到相關文件,以便include進來。

● 在入口文件處include vendor文件夾下面的autoload.php文件。若要想更改自動加載相關的官方,自定義一些操作,可以根據composer生成的ClassLoader文件自行編寫一個加載器工具類,前提是理解composer的自動加載原理,以及PSR4自動加載規范。具體的可以參考tp5里面的Loader類的實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM