我使用Laravel 5.2创建了一个小型应用程序。我把所有的工作都放在App/Modules
的一个名为"模块"的文件夹里。
现在,我正试图将我的Modules
文件夹移到"应用程序文件夹外"的根目录中。因此,我的Modules
文件夹现在位于App
旁边。
我想像App
文件夹一样自动加载Modules
文件夹。
要自动加载Modules, I modified my
autoload section of my
composer.json`,如下所示:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/",
"Modules\": "modules/"
}
},
此外,在app.php
配置文件中,我将此服务提供商添加到我的"提供商"阵列中
ModulesVendnameSurveysProvidersCoreValidatorServiceProvider::class,
然后从命令行,我执行了以下命令
composer dumpautoload
每次我去网站,我得到这个错误
FatalErrorException in ProviderRepository.php line 146: Class 'ModulesVendnameSurveysProvidersCoreServiceProvider' not found
这是我的CoreServiceProvider.php文件的代码
<?php
namespace ModulesVendnameSurveysProviders;
use IlluminateSupportServiceProvider;
class CoreServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
if (! $this->app->routesAreCached()) {
require __DIR__ . '/../routes.php';
}
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
}
}
我在这里做错了什么?我需要做什么才能正确地自动加载新文件夹?
我终于开始工作了。
我评论了
ModulesVendnameSurveysProvidersCoreValidatorServiceProvider::class,
在app.php文件中。
然后在命令行中,我执行了以下命令
php artisan clear-compiled
composer dumpautoload
composer update
然后我取消了app.php文件中的行注释
ModulesVendnameSurveysProvidersCoreValidatorServiceProvider::class,