Weave Code
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor