abdelrhmansaid/dotenv-editor is a PHP package that provides a simple and convenient way to read, modify, and save environment variables from a .env file. It utilizes the Dotenv package for parsing the environment file.
You can install the package via Composer:
composer require abdelrhmansaid/dotenv-editorTo use the DotenvEditor class, create an instance by providing the path to the .env file:
use AbdelrhmanSaid\DotenvEditor\DotenvEditor;
$editor = new DotenvEditor('/path/to/.env');Optionally, you can pass a second parameter to enable backup functionality:
$editor = new DotenvEditor('/path/to/.env', true);You can retrieve the value of an environment variable by specifying its key:
$value = $editor->get('KEY');If the key is not found, you can provide a default value that will be returned instead:
$value = $editor->get('KEY', 'default');To set the value of an environment variable, use the set method:
$editor->set('KEY', 'value');After modifying the environment variables, you need to save the changes back to the .env file:
$editor->save();This will overwrite the existing file with the updated variables.
By default, the backup functionality is disabled. If you want to enable it, pass true as the second argument when creating the DotenvEditor instance:
$editor = new DotenvEditor('/path/to/.env', true);This will create a backup file (.env.backup) before saving any changes. The backup file will contain the previous version of the .env file.
Note: The backup file will be overwritten each time you backup the .env file again.
Here's an example of how you can use the DotenvEditor class:
use AbdelrhmanSaid\DotenvEditor\DotenvEditor;
use AbdelrhmanSaid\DotenvEditor\Exceptions\FileNotFoundException;
try {
$editor = new DotenvEditor('/path/to/.env');
$editor->set('APP_ENV', 'production');
$editor->set('APP_DEBUG', 'false');
$editor->save();
echo 'Changes saved successfully.';
} catch (FileNotFoundException $e) {
echo 'The file could not be found.';
}The package includes a test suite that can be run using Pest. run the following command:
composer testThis package is open-source software licensed under the MIT license.