bg_image
header

PSR-4

PSR-4 ist eine PHP-Standard-Empfehlung für das Autoloading von Klassen basierend auf Namespaces und Dateipfaden. Dieser Standard wurde von der PHP-FIG (PHP Framework Interop Group) entwickelt und beschreibt, wie vollständig qualifizierte Klassennamen zu den entsprechenden Dateipfaden gemappt werden. Dadurch kann PHP Klassen automatisch finden und laden, ohne dass manuelle require- oder include-Anweisungen nötig sind.

Hauptprinzipien von PSR-4:

  1. Namespace-Zuordnung: PSR-4 verlangt, dass der Namespace und Klassenname mit der Verzeichnisstruktur und dem Dateinamen übereinstimmen. Jeder Namespace-Präfix wird mit einem Basisverzeichnis verknüpft, und innerhalb dieses Verzeichnisses entspricht die Verzeichnisstruktur dem Namespace.

  2. Basisverzeichnis: Für jeden Namespace-Präfix wird ein Basisverzeichnis definiert, und die Klassen werden in Unterverzeichnissen des Basisverzeichnisses entsprechend ihrer Namespace-Struktur abgelegt. Zum Beispiel:

    • Wenn der Namespace App\Controllers ist, sollte die Datei in einem Verzeichnis wie /path/to/project/src/Controllers liegen.
  3. Dateibenennung: Der Klassenname muss genau mit dem Dateinamen übereinstimmen und mit .php enden.

  4. Kompatibilität mit Autoloadern: Die Implementierung von PSR-4 gewährleistet Kompatibilität mit modernen Autoloadern wie dem von Composer, wodurch PHP Klassen automatisch ohne manuelle Einbindung findet.

Beispiel für die Nutzung von PSR-4:

Angenommen, Sie haben die Klasse App\Controllers\UserController, so sollte die Verzeichnisstruktur wie folgt aussehen:

/path/to/project/src/Controllers/UserController.php

In der composer.json von Composer wird diese Zuordnung wie folgt angegeben:

{
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

Dies weist Composer an, die Klassen im App-Namespace aus dem src/-Verzeichnis zu laden. Wenn Sie composer dump-autoload ausführen, wird Composer das Autoloading gemäß dem PSR-4-Standard konfigurieren.

Vorteile von PSR-4:

  • Konsistenz: Erzwingt eine klare und organisierte Dateistruktur.
  • Benutzerfreundlichkeit: Erleichtert das Autoloading in großen Projekten.
  • Kompatibilität: Funktioniert gut mit Frameworks und Bibliotheken, die dem PSR-4-Standard folgen.

PSR-4 hat den älteren PSR-0-Standard abgelöst und ist nun der bevorzugte Autoloading-Standard für moderne PHP-Projekte.

 

 


Erstellt vor 8 Monaten
Anwendungen Composer Framework Klasse PHP PHP 7 PHP Standards Recommendation - PSR PSR-4 Prinzipien Programmierung Strategien Webentwicklung

Hinterlasse einen Kommentar Antworten Abbrechen
* Erforderliches Feld