php - 如何使用 composer.json 在 Laravel 5 中自动加载新文件夹?

标签 php laravel laravel-5 composer-php

我使用 Laravel 5.2 创建了一个小应用程序。我将所有工作保存在位于 App/Modules 的名为“Modules”的文件夹中。

现在,我正尝试将我的 Modules 文件夹移出到根目录“App 文件夹之外”。所以我的 Modules 文件夹现在位于 App 旁边。

我想像 App 文件夹一样自动加载 Modules 文件夹。

为了自动加载模块,我修改了 composer.json` 的 autoload部分,如下所示:

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

此外,在 app.php 配置文件中,我将此服务提供商添加到我的“提供商”数组中

Modules\Vendname\Surveys\Providers\CoreValidatorServiceProvider::class,

然后在命令行中,我执行了下面的命令

composer dumpautoload

我每次访问该网站时都会收到此错误

FatalErrorException in ProviderRepository.php line 146: Class 'Modules\Vendname\Surveys\Providers\CoreServiceProvider' not found

这是我的 CoreServiceProvider.php 文件的代码

<?php

namespace Modules\Vendname\Surveys\Providers;

use Illuminate\Support\ServiceProvider;

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()
    {

    }

}

我在这里做错了什么? 我需要做什么才能正确地自动加载新文件夹?

最佳答案

我终于让它工作了。

我把这行注释掉了

Modules\Vendname\Surveys\Providers\CoreValidatorServiceProvider::class,

在 app.php 文件中。

然后在命令行中我执行了以下命令

php artisan clear-compiled
composer dumpautoload
composer update

然后我取消注释掉 app.php 文件中的行

Modules\Vendname\Surveys\Providers\CoreValidatorServiceProvider::class,

关于php - 如何使用 composer.json 在 Laravel 5 中自动加载新文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34570338/

相关文章:

php - 从特定标签中剥离字符串的最快方法是什么

php - 如何将每个数据库字段变成 php 中的公共(public)变量?

php - 在 Laravel 中测试 Controller 的正确方法是什么?

php - Laravel 4.2 联盟

php - Laravel 5 - 上传后图像模糊 - 干预

php - 返回 JSON 负载的 Laravel 速率限制

javascript - php代码为互联网上的两个客户端制作实时html Canvas

php - MySQL INSERT 或 PHP PDO 性能不佳

php - 如何安装 Laravel Artisan?

php - Laravel 5 字段名本地化