摘要:原文地址一問題當我們下來一個框架,接著就開始我們表演,但是我們根據業務需求需要創建一些自定義的文件夾,那么我們該如何加載他們呢,如何避免這類錯誤二分三步來解決這個問題在中項目根目錄下創建自己的文件夾例如我在項目根目錄下創建了一個文件夾。
原文地址
一. 問題
當我們 clone下來一個laravel框架,接著就開始我們表演,但是我們根據業務需求需要創建一些自定義的文件夾,那么我們該如何加載他們呢,如何避免這類錯誤[SymfonyComponentDebugExceptionFatalThrowableError] Class "toolsalyduanxinapi\_demoSmsDemo" not found
二:分三步來解決這個問題
在laravel 中項目根目錄下創建自己的文件夾,例如我在項目根目錄下創建了一個tools文件夾。
在項目文件夾的根目錄下找到composer.json文件,在autoload里添加psr-4節點
"psr-4": { "tools": "tools/" }
接著執行
composer dump-autoload -o
至此我們就加載成功啦
三. 解釋一下 composer dump-autoload 這條命令
下面是composer官方文檔中關于dump-autoload命令的解釋:
dump-autoload
If you need to update the autoloader(類加載器) because of new classes in a classmap package for example, you can use "dump-autoload" to do that without having to go through an install or update.
Additionally, it can dump an optimized(優化) autoloader that converts(轉化) PSR-0/4 packages into classmap ones for performance(性能) reasons. In large applications with many classes, the autoloader can take up a substantial portion of every request"s time. Using classmaps for everything is less convenient in development, but using this option you can still use PSR-0/4 for convenience and classmaps for performance.
Options:
--no-scripts: Skips the execution of all scripts defined in composer.json file.
--optimize (-o): Convert PSR-0/4 autoloading to classmap to get a faster autoloader. This is recommended especially for production, but can take a bit of time to run so it is currently not done by default.
--classmap-authoritative (-a): Autoload classes from the classmap only. Implicitly enables --optimize.
--apcu: Use APCu to cache found/not-found classes.
--no-dev: Disables autoload-dev rules.
其中官方推薦的參數是 -o,即 composer dump-autoload -o
這個命令可以將PSR-0/4自動加載成classmap來獲取一個更快速的類加載器,推薦生產環境使用,但是,可能需要一點時間來運行,因此目前不是默認
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25711.html
摘要:接觸過的同學都知道使用作為項目的包管理工具但是并不是獨有的是的包管理工具這兩者的關系就像于于一樣但是發現真正項目中使用還是比較少的所以這里這里寫一遍文章介紹的使用幫助那些對于還是有點模糊的同學此文跟沒有任何聯系安裝的方式就不講了具體安裝方式 接觸過Laravel的同學都知道,Laravel使用Composer作為項目的包管理工具.但是Composer并不是Laravel獨有的,Comp...
使用場景 在引用第三方包的時候,對第三方包有改動需求,需要將代碼放在自己的倉庫;并且自己的其他項目也有需求引用自定義的第三方包;甚至自己會發布修改后的第三方包; 讀完本文你講獲得: Git Submodule的基本使用 從本地加載第三方包 從自定義倉庫地址獲取擴展包 快速創建第三方包 本文是在我自己想要創建一個基礎第三方包的時候記錄下的操作步驟 1、利用git submoudle在已有項目中使...
摘要:任務是加載類的初始化頂級命名空間與文件路徑映射初始化和注冊。在實際情況下可能會出現這樣的情況。值得注意的是這個函數返回的是一個匿名函數,為什么呢原因就是類中的等等都是的。。。關于匿名函數的綁定功能。 前言 在開始之前,歡迎關注我自己的博客:www.leoyang90.cn 上一篇文章,我們討論了 PHP 的自動加載原理、PHP 的命名空間、PHP 的 PSR0 與 PSR4 標準,有...
摘要:框架關鍵技術解析讀書筆記二第五章框架應用程序根目錄版本默認的框架應用程序是符合規范的,所以相應的目錄結構也是基本固定的,不同的目錄加載了功能文件,如果添加了新的目錄,需要在文件中添加規范的自動加載部分并執行命令。 Laravel 框架關鍵技術解析·讀書筆記(二) 第五章 框架應用程序根目錄(5.1版本) 默認的Laravel框架應用程序是符合PSR規范的,所以相應的目錄結構也是基本...
摘要:導語在開發中,會封裝一些自定義函數以及自定義的類,本篇文章講一下怎么使用實現自動加載。自定義函數實現自動加載,共有三步。自定義類自定義類同上,也是三步,一些小改動。參考資料自定義函數和自定義類。 導語 在開發中,會封裝一些自定義函數以及自定義的類,本篇文章講一下怎么使用 composer 實現自動加載。 自定義函數 實現自動加載,共有三步。 創建文件。在 app 目錄下創建 Help...
閱讀 3274·2023-04-25 18:03
閱讀 1143·2021-11-15 11:38
閱讀 5522·2021-10-25 09:45
閱讀 840·2021-09-24 09:48
閱讀 2272·2021-09-22 15:34
閱讀 1734·2019-08-30 15:44
閱讀 2675·2019-08-30 13:12
閱讀 604·2019-08-29 16:05