sven / env-providers
根据您应用程序的环境加载 Laravel 服务提供者。
Requires
- php: ^8.1
- illuminate/support: ^10.0
Requires (Dev)
- graham-campbell/testbench: ^5.5.1|^6.0
- phpunit/phpunit: >=8.5.23
README
Laravel EnvProviders
管理 Laravel 中服务提供者的一种更精细的方式。此包允许您配置特定服务提供者和别名应在哪种环境中加载。
安装
通过 composer
$ composer require sven/env-providers
或者在 composer.json
的依赖项中添加此包,并运行 composer update
下载包
{ "require": { "sven/env-providers": "^4.0" } }
接下来,将 ServiceProvider
添加到您的 config/app.php
文件中的 providers
数组中
// config/app.php 'providers' => [ ... Sven\EnvProviders\ServiceProvider::class, ];
使用方法
您必须发布此包的配置文件才能正常工作。为此,请运行以下命令
$ php artisan vendor:publish --provider="Sven\EnvProviders\ServiceProvider"
之后,您应该会看到文件 config/providers.php
。在创建的配置文件中,您可以查看两个预定义的服务提供者组,这将帮助您设置在配置的环境下应加载哪些提供者和别名。
环境
在 environments
数组中,您可以定义所谓的“环境别名”。例如,如果您为 local
开发使用了多个名称(例如 dev
、development
和 local
),则可以将这些名称都别名为一个名称,以便在本包的配置中使用。
注意:您可以在 config/app.php
文件中的 env
下设置您应用程序的环境,或者通过您的 .env
文件设置。如果您想通过 php artisan
管理您的 .env
文件,可以查看 sven/flex-env
。
组
配置中的 groups
键用于在先前定义的环境中加载服务提供者和别名(也称为外观)。您可以使用 *
作为通配符来始终加载该组,无论应用程序的环境如何。
提供者
在 providers
数组中,您可以放置您希望在定义的环境中加载的提供者。这应该非常直观,因为它与您在 config/app.php
中注册服务提供者的方式类似。
别名
在 aliases
数组中,您可以定义所有您的别名(外观)。与提供者一样,这与您在默认的 config/app.php
配置文件中注册别名的方式相同。
示例
return [ 'environments' => [ 'dev' => ['local', 'development', 'dev'], 'prod' => ['production'], ], 'groups' => [ 'dev' => [ 'providers' => [ Sven\ArtisanView\ArtisanViewServiceProvider::class, Barryvdh\Debugbar\ServiceProvider::class, ], 'aliases' => [ 'Debugbar' => Barryvdh\Debugbar\Facade::class, ], ], 'prod' => [ 'providers' => [ /* ... */ ], 'aliases' => [ /* ... */ ], ], '*' => [ 'providers' => [ /* ... */ ], 'aliases' => [ /* ... */ ], ], ], ],
注意我们只在我们应用程序的环境是 local
、development
或 dev
时加载 Debugbar ServiceProvider 和外观。这意味着当环境不匹配这些之一时,我们无法在项目中使用 Debugbar
外观。
贡献
所有贡献(拉取请求、问题和功能请求)都受到欢迎。但是,请先阅读 CONTRIBUTING.md。有关所有贡献者的信息,请参阅 贡献者页面。
许可证
sven/env-providers
采用 MIT 许可证(MIT)授权。有关更多信息,请参阅 许可证文件。