syamsoul / laravel-set-env
Easily update or insert Laravel environment variable with Artisan command
Installs: 21 839
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 6
Open Issues: 0
Type:laravel-package
Requires
- php: >=8.0.0
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
README
A Laravel package that enables programmatic modification of environment variables in your .env
file. Simple, secure, and efficient way to manage your Laravel application's environment configuration.
✨ Features
- 🔐 Secure environment variable management
- 🚀 Simple and intuitive API
- 💻 Command-line interface support
- 📝 Support for comments in .env files
- 🎯 Precise variable positioning
- 🔄 Multiple file support (.env, .env.example, etc.)
- ⚡ Production-ready with safety checks
📋 Table of Contents
🔧 Requirements
- Laravel 10.x or higher
- PHP 8.0 or higher
📦 Installation
You can install the package via Composer:
composer require syamsoul/laravel-set-env
🚀 Usage
Basic Setup
First, import the Env
facade in your code:
use SoulDoit\SetEnv\Facades\Env;
Setting Environment Variables
There are multiple ways to set or update environment variables:
Using PHP Code
- Basic usage:
// Set/update variable in .env file Env::set("MY_APP_NAME", "My Laravel Application"); // Set/update variable in .env.example file Env::envFile('.env.example')->set("MY_APP_NAME", "Localhost");
- Add comments:
// Add a comment to explain the variable Env::set("ENABLE_CLOCKWORK", false, "Enable or disable the clockwork debugging tools"); // Result in .env: // ENABLE_CLOCKWORK=false #Enable or disable the clockwork debugging tools
- Control variable positioning:
// Add/update a key after a specific key Env::set("ENABLE_CLOCKWORK", false, afterKey: "APP_NAME"); // Result in .env: // APP_NAME=MyApp // ENABLE_CLOCKWORK=false
Using Artisan Commands
- Interactive mode:
php artisan souldoit:set-env
- Direct mode:
php artisan souldoit:set-env "MY_APP_NAME=My Laravel Application"
- Specify target env file:
php artisan souldoit:set-env "MY_APP_NAME=Localhost" -E .env.example # or php artisan souldoit:set-env "MY_APP_NAME=Localhost" --env_file=.env.example
Getting Environment Variables
Retrieve environment variable values using the get
method:
$value = Env::get("MY_APP_NAME");
🛡️ Production Usage
When working in a production environment, you can use the --force
flag to bypass confirmation prompts:
php artisan souldoit:set-env "MY_APP_NAME=Production App" --force
❤️ Support
If you find this package helpful, consider supporting the development:
BNB (BSC) Donation Address:
0x364d8eA5E7a4ce97e89f7b2cb7198d6d5DFe0aCe
📄 License
This package is open-sourced software licensed under the MIT License.