通过 Laravel EnvProviders 扩展包基于应用开发环境加载相应的服务提供者

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目录下,在这个配置文件中可以看到两个数组:loaddevelopment_environments

load数组中有两个嵌套数组:providersaliases,这和config/app.php中的一样,你可以在providers中注册服务提供者,在aliases中注册门面。

development_enviroments中已经设置了一些默认值,你可以按照自己的需求进行修改。这里的值需要和.envAPP_ENV相匹配,然后应用会根据.env中设置的当前开发环境来加载上面load中定义的服务提供者。

学院君

学院君 has written 548 articles

资深PHP工程师,Laravel学院院长