通过 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本身没有自带类似的(根据环境加载服务提供者)功能吗?
延迟加载可以算一个