geo-sot / laravel-env-editor
A laravel Package that supports .Env File, editing and backup
Installs: 33 572
Dependents: 3
Suggesters: 0
Security: 0
Stars: 83
Watchers: 4
Forks: 13
Open Issues: 0
Requires
- php: >=8.1
- laravel/framework: >=10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- larastan/larastan: ^2
- orchestra/testbench: >=9
- rector/rector: ^1.0
README
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
Management can be done through the user interface, or programmatically by using the EnvEditor
Facade, without breaking the files structure.
The inspiration for this package was, Brotzka/laravel-dotenv-editor.
Installation:
-
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
Available Methods:
- getEnvFileContent
- keyExists
- getKey
- addKey
- editKey
- deleteKey
- getAllBackUps
- upload
- backUpCurrent
- getFilePath
- deleteBackup
- restoreBackUp
Example
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()
User Interface
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