承接 phpdevcommunity/php-dotenv 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phpdevcommunity/php-dotenv

最新稳定版本:3.0.1

Composer 安装命令:

composer require phpdevcommunity/php-dotenv

包简介

PHP-DotEnv is a lightweight PHP library designed to simplify the management of environment variables in your PHP applications.

README 文档

README

⚠️ Abandoned package

This package is abandoned and no longer maintained.
The author suggests using michel/dotenv instead.

PHP-DotEnv

PHP-DotEnv is a lightweight and robust PHP library designed to simplify the management of environment variables in your PHP applications. It parses a .env file and loads the variables into getenv(), $_ENV, and $_SERVER.

It comes with a powerful processor system that automatically converts values (booleans, nulls, numbers) and allows you to define your own custom processors for specific needs.

English Documentation

Installation

Requires PHP 7.4 or higher.

Install via Composer:

composer require phpdevcommunity/php-dotenv

Basic Usage

  1. Create a .env file in your project root:

    APP_ENV=dev DATABASE_URL="mysql:host=localhost;dbname=test" DEBUG=true CACHE_TTL=3600 API_KEY=null # This is a comment
  2. Load the variables in your PHP entry point (e.g., index.php):

    <?php require 'vendor/autoload.php'; use PhpDevCommunity\DotEnv; $envFile = __DIR__ . '/.env'; // Load environment variables (new DotEnv($envFile))->load(); // Access variables var_dump(getenv('APP_ENV')); // string(3) "dev" var_dump($_ENV['DEBUG']); // bool(true)

Features

1. Automatic Type Conversion (Default Processors)

PHP-DotEnv automatically processes values using default processors:

  • BooleanProcessor: Converts true and false (case-insensitive) to PHP bool.
  • NullProcessor: Converts null (case-insensitive) to PHP null.
  • NumberProcessor: Converts numeric strings to int or float.
  • QuotedProcessor: Removes surrounding double quotes " or single quotes ' from strings.

2. Comments

Lines starting with # are treated as comments and ignored.

3. Trimming

Keys and values are automatically trimmed of whitespace.

Advanced Usage: Custom Processors

You can extend the functionality by creating custom processors. A processor must extend PhpDevCommunity\Processor\AbstractProcessor.

Creating a Custom Processor

Example: A processor that converts comma-separated strings into arrays.

namespace App\Processor; use PhpDevCommunity\Processor\AbstractProcessor; class ArrayProcessor extends AbstractProcessor { public function canBeProcessed(): bool { // Process only if value contains a comma return strpos($this->value, ',') !== false; } public function execute() { return array_map('trim', explode(',', $this->value)); } }

Registering Custom Processors

Pass an array of processor class names to the DotEnv constructor. Note: When you pass custom processors, you must also include the default ones if you still want them to run.

use PhpDevCommunity\DotEnv; use PhpDevCommunity\Processor\BooleanProcessor; use PhpDevCommunity\Processor\NullProcessor; use PhpDevCommunity\Processor\NumberProcessor; use PhpDevCommunity\Processor\QuotedProcessor; use App\Processor\ArrayProcessor; $processors = [ BooleanProcessor::class, NullProcessor::class, NumberProcessor::class, QuotedProcessor::class, ArrayProcessor::class // Your custom processor ]; (new DotEnv(__DIR__ . '/.env', $processors))->load();

???????? Documentation Française

Introduction

PHP-DotEnv est une bibliothèque PHP légère conçue pour simplifier la gestion des variables d'environnement dans vos applications PHP. Elle analyse un fichier .env et charge les variables dans getenv(), $_ENV et $_SERVER.

Elle intègre un système de processeurs qui convertit automatiquement les valeurs (booléens, null, nombres) et vous permet de définir vos propres processeurs personnalisés.

Installation

Nécessite PHP 7.4 ou supérieur.

Installez via Composer :

composer require phpdevcommunity/php-dotenv

Utilisation de Base

  1. Créez un fichier .env à la racine de votre projet :

    APP_ENV=dev DATABASE_URL="mysql:host=localhost;dbname=test" DEBUG=true CACHE_TTL=3600 API_KEY=null # Ceci est un commentaire
  2. Chargez les variables dans votre point d'entrée PHP (ex: index.php) :

    <?php require 'vendor/autoload.php'; use PhpDevCommunity\DotEnv; $envFile = __DIR__ . '/.env'; // Charger les variables d'environnement (new DotEnv($envFile))->load(); // Accéder aux variables var_dump(getenv('APP_ENV')); // string(3) "dev" var_dump($_ENV['DEBUG']); // bool(true)

Fonctionnalités

1. Conversion Automatique des Types (Processeurs par défaut)

PHP-DotEnv traite automatiquement les valeurs à l'aide de processeurs par défaut :

  • BooleanProcessor : Convertit true et false (insensible à la casse) en bool PHP.
  • NullProcessor : Convertit null (insensible à la casse) en null PHP.
  • NumberProcessor : Convertit les chaînes numériques en int ou float.
  • QuotedProcessor : Supprime les guillemets doubles " ou simples ' entourant les chaînes.

2. Commentaires

Les lignes commençant par # sont traitées comme des commentaires et ignorées.

3. Nettoyage (Trimming)

Les espaces autour des clés et des valeurs sont automatiquement supprimés.

Utilisation Avancée : Processeurs Personnalisés

Vous pouvez étendre les fonctionnalités en créant des processeurs personnalisés. Un processeur doit étendre PhpDevCommunity\Processor\AbstractProcessor.

Créer un Processeur Personnalisé

Exemple : Un processeur qui convertit les chaînes séparées par des virgules en tableaux.

namespace App\Processor; use PhpDevCommunity\Processor\AbstractProcessor; class ArrayProcessor extends AbstractProcessor { public function canBeProcessed(): bool { // Traiter uniquement si la valeur contient une virgule return strpos($this->value, ',') !== false; } public function execute() { return array_map('trim', explode(',', $this->value)); } }

Enregistrer les Processeurs Personnalisés

Passez un tableau de noms de classes de processeurs au constructeur de DotEnv. Note : Lorsque vous passez des processeurs personnalisés, vous devez également inclure ceux par défaut si vous souhaitez qu'ils continuent de fonctionner.

use PhpDevCommunity\DotEnv; use PhpDevCommunity\Processor\BooleanProcessor; use PhpDevCommunity\Processor\NullProcessor; use PhpDevCommunity\Processor\NumberProcessor; use PhpDevCommunity\Processor\QuotedProcessor; use App\Processor\ArrayProcessor; $processors = [ BooleanProcessor::class, NullProcessor::class, NumberProcessor::class, QuotedProcessor::class, ArrayProcessor::class // Votre processeur personnalisé ]; (new DotEnv(__DIR__ . '/.env', $processors))->load();

phpdevcommunity/php-dotenv 适用场景与选型建议

phpdevcommunity/php-dotenv 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12.98k 次下载、GitHub Stars 达 76, 最近一次更新时间为 2026 年 01 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 phpdevcommunity/php-dotenv 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 phpdevcommunity/php-dotenv 我们能提供哪些服务?
定制开发 / 二次开发

基于 phpdevcommunity/php-dotenv 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 12.98k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 77
  • 点击次数: 16
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 76
  • Watchers: 5
  • Forks: 25
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04