mesingh/laravel-env-packages

This package lets you define various package requirements according to the environment.

v1.0.0-beta 2017-05-03 18:04 UTC

This package is not auto-updated.

Last update: 2024-12-08 01:25:24 UTC


README

Latest Version on Packagist Software License

This package lets you define various package requirements according to the environment.

Install

Via Composer

$ composer require mesingh/laravel-env-packages

Then add the service provider in config/app.php:

meSingh\EnvPackages\EnvPackagesServiceProvider::class,

Then publish vendor files for access the configuration file:

$ php artisan vendor:publish --provider="meSingh\EnvPackages\EnvPackagesServiceProvider"

Usage

You need to run envpackages:generate command after each configuration update.

$ php artisan envpackages:generate

Configuration

envpackages.php file is used to define any package requirements that are loaded over some specific environment like you might have some development packages installed that you do not wish to load over production and/or staging.

You can define any requirement in any environment. So to define a provider for the local environment, you just need to add it like this:

'providers' => [
    'local'  => [
        Provider\Package\SomeServiceProvider::class,
    ],
],

In case you need to load this provider in multiple environments like local, testing and development, you can do so like this:

'providers' => [
    'local,testing,development'  => [
        Provider\Package\SomeServiceProvider::class,
    ],
],

You can also do any kind of combinations in configuration like this:

'providers' => [
    'local,testing,development'  => [
        Provider\Package\SomeServiceProvider::class,
    ],
    'development'  => [
        Provider\Package\OtherServiceProvider::class,
    ],
    'staging,production'  => [
        Provider\Package\AnotherServiceProvider::class,
    ],
],

License

The MIT License (MIT). Please see License File for more information.