phpdotenv

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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/phpdotenv

Stellen 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=local

Wann 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.

Empfehlungen