Laravel5.2 自定義類引入和命名空間問題

問題描述

了一個第三方驗證碼類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.jsonautoload內的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

相關文章
相關標籤/搜索