Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Set Env Laravel Package

syamsoul/laravel-set-env

Programmatically set, update, and read Laravel .env variables with a simple facade and CLI. Supports comments, precise placement, and multiple env files (.env, .env.example). Includes production safety checks for secure environment configuration management.

View on GitHub
Deep Wiki
Context7

Laravel Environment Variable Setter

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

📄 License

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin