通过 Laravel EnvProviders 扩展包基于应用开发环境加载相应的服务提供者
1、简介
Laravel EnvProviders为我们在Laravel应用中对服务提供者(Service Provider)的加载进行管理提供了新方式,通过该扩展包我们可以在不同开发环境加载特定的服务提供者。
2、安装
通过Composer安装:
composer require sven/env-providers
然后在config/app.php中注册服务提供者EnvServiceProvider:
// config/app.php 'providers' => [ ... Sven\EnvProviders\EnvServiceProvider::class, ];
3、使用
使用前必须要发布扩展包的配置文件:
php artisan vendor:publish --provider="Sven\EnvProviders\EnvServiceProvider"
该命令将扩展包中的配置文件providers.php发布到应用根目录的config目录下,在这个配置文件中可以看到两个数组:load和 development_environments。
在load数组中有两个嵌套数组:providers和aliases,这和config/app.php中的一样,你可以在providers中注册服务提供者,在aliases中注册门面。
development_enviroments中已经设置了一些默认值,你可以按照自己的需求进行修改。这里的值需要和.env中APP_ENV相匹配,然后应用会根据.env中设置的当前开发环境来加载上面load中定义的服务提供者。
2 Comments
Laravel本身没有自带类似的(根据环境加载服务提供者)功能吗?
延迟加载可以算一个