加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 19:39:30 所属栏目:大数据 来源:网络整理
导读:我使用Laravel 5.2创建了一个小应用程序.我将所有工作保存在App / Modules中名为“Modules”的文件夹中. 现在,我正在尝试将我的Modules文件夹移出到“App文件夹外部”的根目录.所以我的Modules文件夹现在位于App旁边. 我想像App文件夹一样自动加载Modules文
我使用Laravel 5.2创建了一个小应用程序.我将所有工作保存在App / Modules中名为“Modules”的文件夹中.

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

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

为了自动加载模块,我将mycomposer.json`的myautoloadsection修改为如下所示:

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

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

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,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读