redot/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 redot/dotenv-editor
To use the DotenvEditor
class, create an instance by providing the path to the .env
file:
use Redot\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 Redot\DotenvEditor\DotenvEditor;
use Redot\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 test
This package is open-source software licensed under the MIT license.