了一個第三方驗證碼類Code.class.PHP
個類設置命名空間,那麼須要在使用時用require引入這個文件,引入後在new Code()
時會報Class 'App\Http\Controllers\Admin\Code' not found
,這樣會在根命名空間下找Code類就能夠正常使用。
好奇心下給Code類添加了個命名空間namespace resources\org\code
;,發如今使用時use resources\org\code\Code;
,依然報錯找不到這個類。laravel
經過修改命名空間,改變類文件存放位置,都不能解決這個錯誤,百度後發現應該自定義類的加載問題,即命名空間使用正確,可是laravel沒有加載這個類文件。最後在csdn大神博客發現解決辦法。json
在composer.json
的autoload
內的classmap
項新增類包,app
"autoload": { "classmap": [ "database", "resources/org/code" //添加本身的命名空間 ], "psr-4": { "App\\": "app/" } },
完成以後還須要在命令行使用composer
命令composer
composer dump-autoload
作完這些再回到項目中,在使用Code類的文件中use resources\org\code\Code
;就能夠正確的new Code()
了ui