n7olkachev / envify
Envify your configs with ease
dev-master
2018-07-17 19:56 UTC
Requires
- php: ^7.0
- illuminate/support: >=5.5
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2024-12-23 21:25:47 UTC
README
Envify your configs with ease
Why?
I'm just tired of writing env('FOO_BAR_BAZ') so
Examples
Default Laravel config/services.php looks like:
return [ 'mailgun' => [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), ], 'ses' => [ 'key' => env('SES_KEY'), 'secret' => env('SES_SECRET'), 'region' => env('SES_REGION', 'us-east-1'), ], 'sparkpost' => [ 'secret' => env('SPARKPOST_SECRET'), ], 'stripe' => [ 'model' => App\User::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ], ];
With this package it is just:
return envify([ 'mailgun' => [ 'domain', 'secret', ], 'ses' => [ 'key', 'secret', 'region' => 'us-east-1', ], 'sparkpost' => [ 'secret', ], 'stripe' => [ 'model' => App\User::class, 'key', 'secret', ], ]);
And config/app.php example:
return [ 'name' => env('APP_NAME', 'Laravel'), 'env' => env('APP_ENV', 'production'), 'debug' => env('APP_DEBUG', false), 'url' => env('APP_URL', 'http://localhost'), ];
Becomes
return envify('app', [ 'name' => 'Laravel', 'env' => 'production', 'debug' => false, 'url' => 'http://localhost', ]);
envify
function scan array keys and extracts appropriate values from env, so resulting
arrays will be the same.
Also, you can envify just a part of your config:
return [ ... 'foo' => envify('bar', [ 'baz', // equals 'baz' => env('BAR_BAZ') ]), ];
Installation
You can install the package via composer:
composer require n7olkachev/envify
Testing
$ composer test
Credits
Sponsored by
Web agency based in Minsk, Belarus
License
The MIT License (MIT)