andrey-helldar / env-sync
Keeping your .env.example is up-to-date
Fund package maintenance!
Boosty
Yoomoney
Donationalerts
Installs: 17 301
Dependents: 0
Suggesters: 0
Security: 0
Stars: 35
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^8.0
- dragon-code/support: ^6.0
- symfony/finder: ^4.0 || ^5.0 || ^6.0 || ^7.0
- vlucas/phpdotenv: ^4.0 || ^5.0
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.0
- symfony/var-dumper: ^4.0 || ^5.0 || ^6.0 || ^7.0
Suggests
- dragon-code/env-sync-laravel: env-sync package adapter for Laravel framework
This package is auto-updated.
Last update: 2024-03-13 07:11:12 UTC
README
Installation
If you are using the Laravel framework, then install the dragon-code/env-sync-laravel package instead.
To get the latest version of Environment Synchronization
, simply require the project using Composer:
$ composer require dragon-code/env-sync --dev
Or manually update require-dev
block of composer.json
and run composer update
.
{ "require-dev": { "dragon-code/env-sync": "^4.0" } }
How to use
This package scans files with
*.php
,*.json
,*.yml
,*.yaml
and*.twig
extensions in the specified folder, receiving from them calls to theenv
andgetenv
functions. Based on the received values, the package creates a key-value array. When saving, the keys are split into blocks by the first word before the_
character.Also, all keys are sorted alphabetically.
Frameworks
- Laravel / Lumen Frameworks - See the documentation in this repository.
Native using
To call a command in your application, you need to do the following:
use DragonCode\EnvSync\Services\Syncer; protected function syncer(): Syncer { return Syncer::make(); } protected function sync() { $this->syncer() ->path(__DIR__) ->filename('.env.example') ->store(); }
If you want to define default values or specify which key values should be stored, you need to pass an array to the constructor of the Config
class:
use DragonCode\EnvSync\Services\Syncer; protected function syncer(): Syncer { return Syncer::make($this->config()); } protected function config(): array { return require realpath(__DIR__ . '/your-path/your-config.php'); }
You can also suggest your implementation by sending a PR. We will be glad 😊
License
This package is licensed under the MIT License.