Home

Awesome

Latest Version on Packagist Total Downloads Coverage Status Codacy Badge Maintainability License

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>

  1. Install package

    composer require geo-sot/laravel-env-editor
    
  2. 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>
  
 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>

Overview <br/> <br/>

<a name="add_key">Add new key</a>

AddKey <br/> <br/>

<a name="edit_key">Edit key</a>

EditKey <br/> <br/>

<a name="delete_key">Delete key</a>

DeleteKey <br/> <br/>

<a name="backups">Backups</a>

<a name="backups_index">Backups Index</a>

Overview <br/> <br/>

<a name="backup_file_details">Backup file details</a>

Overview <br/> <br/>

Upload

Overview