Laravel 5.4应用程序无法在自定义目录中加载自定义类

时间:2017-07-24 13:01:52

标签: laravel laravel-5

我跟着this answer和其他一些人但是无法完成这项工作。

我在App - >中有自定义目录libraries包含自定义php类。在composer.json中,我已将其添加到psr-4部分

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "libraries\\": "app/libraries"

    }
},

在我想要使用班级App\Http\Controller\OrderController.php的控制器中,我添加了这个

use App\libraries\API; // on top of the page


class OrderController extends BaseController
{
    public function orderSubmit()
    {
           // some code 
        API::convertUSDToEUR($product['price']);
    }
}

错误

  

找不到FatalThrowableError类'App \ libraries \ API'

我也composer dump-autoload

1 个答案:

答案 0 :(得分:0)

当前命名空间中未定义API。您应该能够像new \API(...)或类似这样称呼它。

use API; 


class OrderController extends BaseController
{
    public function orderSubmit()
    {
           // some code 
        $convert = new API;
        $convert->convertUSDToEUR($product['price']);
    }
}

编辑:composer.json中的这个声明也可以。 Laravel它将加载autoload

中的所有内容
"autoload": {
    "classmap": [
        "database",
        "app/libraries"
    ],
    "psr-4": {
        "App\\": "app/"

    }
},