是否可以在Laravel的App / Providers目录之外安装服务提供商?我正在使用Laravel 5.4。
我通常将自己的所有类放入src / CUSTOM_NAMESPACE目录中。我在那里有我所有的控制器,模型,存储库等,一切正常。但是,我无法让服务提供商从那里开始工作。
我在composer.json中添加了一个psr4自动加载器定义...
"psr-4": {
"App\\": "app/",
"CUSTOM_NAMESPACE\\": "src/"
}
我已将服务提供商添加到app.php ...
CUSTOM_NAMESPACE\Providers\BlahServiceProvider::class,
我知道的是有效的,因为所有其他类都可以正常运行。我有三重检查拼写,案例等。
我总是收到以下错误...
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CUSTOM_NAMESPACE\Providers\BlahServiceProvider' not found
我尝试过运行composer dump-autoload,但是如果我运行php artisan optimize或composer update这样的命令,我会收到此错误。
我在文档中找不到提交者必须在App目录中的任何内容。
我现在暂时将服务提供商放在app目录中,但我想我会问这个问题,因为我有点困惑,我不能把我所有的类放在我自己的命名空间下的src目录中。
之前有没有人遇到过这个问题?是不是应该这样工作?
提前致谢。
答案 0 :(得分:1)
您必须运行composer dump-autoload
。