andrey-helldar/env-sync

This package is abandoned and no longer maintained. The author suggests using the dragon-code/env-sync package instead.

Keeping your .env.example is up to date

v3.0.0 2021-11-23 18:33 UTC

This package is auto-updated.

Last update: 2021-11-23 18:44:08 UTC


README

Environment Synchronization

Stable Version Unstable Version Total Downloads Github Workflow Status License

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": "^3.0"
    }
}

Upgrade from andrey-helldar/env-sync

  1. In your composer.json file, replace "andrey-helldar/env-sync": "^2.0" with "dragon-code/env-sync": "^3.0".
  2. Replace the Helldar\EnvSync namespace with DragonCode\EnvSync in your app;
  3. Run the command composer update.
  4. Profit!

How to use

This package scans files with *.php, *.json, *.yml, *.yaml and *.twig extensions in the specified folder, receiving from them calls to the env and getenv 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

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.