Was ist phpdotenv?
phpdotenv ist eine beliebte PHP-Bibliothek zur Verwaltung der Anwendungskonfiguration über Umgebungsvariablen. Sie ermöglicht das Laden von Einstellungen aus einer .env-Datei in das Array $_ENV und in globale Variablen getenv(), was die Trennung von Konfiguration und Code vereinfacht. Sie ist von der Ruby-Bibliothek dotenv inspiriert und wird häufig in modernen PHP-Frameworks (Laravel, Symfony) verwendet.
Wozu dient phpdotenv?
Bei der Entwicklung von Anwendungen müssen oft sensible Daten (Datenbank-Passwörter, API-Schlüssel) getrennt vom Code gespeichert werden. phpdotenv löst dieses Problem: Sie erstellen eine .env-Datei, die nicht in das Repository gelangt (wird zu .gitignore hinzugefügt), und die Bibliothek lädt sie in die Umgebung. Dies gewährleistet Sicherheit, Flexibilität (unterschiedliche Einstellungen für Dev/Staging/Prod) und die Einhaltung des Prinzips der 12-Factor-App.
Installation von phpdotenv
Installieren Sie die Bibliothek über Composer:
composer require vlucas/phpdotenvStellen Sie sicher, dass Composer und PHP Version 7.1 oder höher installiert sind.
Grundlegende Funktionen
- Laden der .env-Datei – Parsen von Schlüssel=Wert mit Unterstützung für Kommentare (#) und leere Zeilen.
- Erforderliche Variablen – Überprüfung auf das Vorhandensein notwendiger Schlüssel mit
required(). - Typisierung – Automatische Umwandlung von Zeichenketten in Typen (boolean, integer, null).
- Sicherheit – Maskierung von Sonderzeichen, Unterstützung von Anführungszeichen.
- Unveränderlichkeit – Schutz vor Überschreiben vorhandener Umgebungsvariablen.
PHP-Codebeispiel
require 'vendor/autoload.php';
use Dotenv\\Dotenv;
// .env aus dem Stammverzeichnis laden$dotenv = Dotenv::createImmutable(__DIR__);$dotenv->load();
// Variablen sind nun über getenv() verfügbar$dbHost = getenv('DB_HOST');$dbName = getenv('DB_NAME');
// Oder über $_ENVecho $_ENV['APP_ENV']; // 'local'
// Überprüfung erforderlicher Variablen$dotenv->required(['DB_HOST', 'DB_NAME']);
// Beispiel einer .env-Datei:// DB_HOST=localhost// DB_NAME=test// APP_ENV=localWann phpdotenv verwenden
Die Bibliothek ist ideal für:
- Webanwendungen in PHP (Laravel, Symfony, Slim).
- CLI-Skripte und Microservices.
- Projekte, bei denen ein schneller Wechsel der Konfiguration ohne Codeänderung erforderlich ist.
- Team-Entwicklung – jeder Entwickler kann seine eigene
.env-Datei haben. - CI/CD-Pipelines – Variablen werden über die Serverumgebung und nicht über eine Datei festgelegt.
Wichtig: Committen Sie die .env-Datei niemals in das Repository. Erstellen Sie eine .env.example-Datei mit einer Vorlage für Ihre Kollegen.
Auch in der Bibliothek
mapstructure für Go: Vollständige Anleitung mit Beispielen
Rate Limiting in Go: Leitfaden zur Begrenzung der Anfragenrate
Datenvalidierung in Swift (iOS/macOS): Werkzeuge und Praxis
JSON-Verarbeitung in JavaScript (Node.js): Vollständiger Leitfaden