【问题标题】:How to autoload a new folder in Laravel 5 using composer.json?如何使用 composer.json 在 Laravel 5 中自动加载新文件夹?
【发布时间】:2016-04-06 20:05:32
【问题描述】:

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

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

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

要自动加载Modules, I modified myautoloadsection of mycomposer.json`,如下所示:

"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\CoreServiceProvider 类位于哪个文件中?根据您的composer.json 文件,它应该在modules/Vendname/Surveys/Providers/CoreServiceProvider.php
  • @xabbuh 我将文件夹名称从“模块”更改为“模块”,即使它没有解决问题。谢谢你的提示

标签: php laravel laravel-5 composer-php


【解决方案1】:

我终于让它工作了。

我把这行注释掉了

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

在 app.php 文件中。

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

php artisan clear-compiled
composer dumpautoload
composer update

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

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

【讨论】:

  • s/compoaser/composer/
猜你喜欢
  • 1970-01-01
  • 2015-10-26
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 2018-01-09
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
相关资源
最近更新 更多