syamsoul/laravel-set-env

Easily update or insert Laravel environment variable with Artisan command

Installs: 21 900

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 2

Forks: 6

Open Issues: 0

Type:laravel-package

1.3.0 2025-03-12 22:41 UTC

This package is auto-updated.

Last update: 2025-03-13 00:27:25 UTC


README

Latest Version on Packagist License: MIT Total Downloads PHP Version

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

  1. 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");
  1. 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
  1. 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

  1. Interactive mode:
php artisan souldoit:set-env
  1. Direct mode:
php artisan souldoit:set-env "MY_APP_NAME=My Laravel Application"
  1. 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

BNB Wallet QR Code

📄 License

This package is open-sourced software licensed under the MIT License.