Awesome
Laravel .env Editor (plus GUI)
This Package allows to manage Laravel .env file values on the Fly (add, edit, delete keys), upload another .env or create backups
<br/>
Management can be done through the user interface, or programmatically by using the EnvEditor
Facade, without breaking the files structure.
<br/>
The inspiration for this package was, Brotzka/laravel-dotenv-editor.
<a name="installation">Installation:</a>
-
Install package
composer require geo-sot/laravel-env-editor
-
Publish assets
php artisan vendor:publish --provider=GeoSot\EnvEditor\ServiceProvider
This will publish all files:
- config -> env-editor.php
- views -> resources/views/vendor/env-editor/..
- lang -> resources/lang/vendor/env-editor.php
Or publish specific tags
//Publish specific tag php artisan vendor:publish --tag=config php artisan vendor:publish --tag=translations php artisan vendor:publish --tag=views //Publish specific Tag from this Vendor php artisan vendor:publish --provider=GeoSot\EnvEditor\ServiceProvider --tag=config
<a name="available_methods">Available Methods:</a>
<Details> <Summary>Example</Summary>
- getEnvFileContent
- keyExists
- getKey
- addKey
- editKey
- deleteKey
- getAllBackUps
- upload
- backUpCurrent
- getFilePath
- deleteBackup
- restoreBackUp
EnvEditor::getEnvFileContent($fileName='')
// Return The .env Data as Collection.
// If FileName Is provided it searches inside backups Directory and returns these results
EnvEditor::keyExists($key)
// Search key existance in .env
EnvEditor::getKey(string $key, $default = null)
// Get key value from .env,
EnvEditor::addKey($key, $value, array $options = [])
// Adds new Key in .env file
// As options can pass ['index'=>'someNumericIndex'] in order to place the new key after an other and not in the end,
// or ['group'=>'MAIL/APP etc'] to place the new key oat the end of the group
EnvEditor::editKey($key, $value)
// Edits existing key value
EnvEditor::deleteKey($key)
EnvEditor::getAllBackUps()
// Returns all Backup files as collection with some info like, created_date, content etc.
EnvEditor::upload(UploadedFile $uploadedFile, $replaceCurrentEnv)
// Gets an UploadedFile and stores it as backup or as current .env
EnvEditor::backUpCurrent()
// Backups current .env
EnvEditor::getFilePath($fileName = '')
// Returns the full path of a backup file.
// If $fileName is empty returns the full path of the .env file
EnvEditor::deleteBackup($fileName)
EnvEditor::restoreBackUp()
</Details>
<br/>
<a name="user_interface">User Interface</a>
Note: user interface is disabled be default. You can enable it by changing the configuration option env-editor.route.enable
User Interface Contains three Tabs
<br/><a name="current_env">Current .env </a>
<br/> <br/>
<a name="add_key">Add new key</a>
<br/> <br/>
<a name="edit_key">Edit key</a>
<br/> <br/>
<a name="delete_key">Delete key</a>
<br/> <br/>
<a name="backups">Backups</a>
<a name="backups_index">Backups Index</a>
<br/> <br/>
<a name="backup_file_details">Backup file details</a>
<br/> <br/>