Search by

microweber-packages / microweber-env-writer

boksiora

A standalone .env file writer for Laravel. Reads, updates and appends key-value pairs while preserving comments and preventing duplicate keys.

Package info

github.com/microweber-packages/microweber-env-writer

Homepage

pkg:composer/microweber-packages/microweber-env-writer

Statistics

Installs: 43

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-11-03 11:39 UTC

This package is auto-updated.

Last update: 2026-11-03 17:06:28 UTC


README

A standalone .env file writer for Laravel. Reads, updates and appends key-value pairs while preserving comments and preventing duplicate keys.

Installation

composer require microweber-packages/microweber-env-writer

The service provider is auto-discovered by Laravel.

Usage

Via Facade (recommended)

use MicroweberPackages\EnvWriter\Facades\EnvWriter;

EnvWriter::save(['APP_KEY' => 'new-key'], base_path('.env'));
$values = EnvWriter::read(base_path('.env'));

Via Dependency Injection

use MicroweberPackages\EnvWriter\EnvWriterService;

public function install(EnvWriterService $envWriter)
{
    $envWriter->save([
        'APP_KEY' => 'base64:your-key',
        'DB_HOST' => 'localhost',
        'APP_DEBUG' => true,
    ], app()->environmentFilePath());
}

Direct Instantiation (no Laravel required)

$writer = new \MicroweberPackages\EnvWriter\EnvWriterService();
$writer->save(['KEY' => 'value'], '/path/to/.env');
$values = $writer->read('/path/to/.env');

Service class: MicroweberPackages\EnvWriter\EnvWriterService
Facade class: MicroweberPackages\EnvWriter\Facades\EnvWriter

Features

  • Updates existing keys in place
  • Appends new keys at the end
  • Removes duplicate keys automatically
  • Collapses consecutive blank lines
  • Preserves comments
  • Properly quotes values with spaces, hashes, or quotes
  • Handles booleans, integers, nulls, and strings
  • Read/parse .env files into associative arrays
  • No Laravel dependency for core functionality