Einführung
Die Standard-Anwendungsstruktur von Laravel liefert einen Ausgangspunkt, der sich sowohl für große als auch für kleine Anwendungen gut eignet. Wie Sie Ihre Anwendung strukturieren, bleibt jedoch Ihnen überlassen. Laravel schreibt Ihnen kaum vor, wo Sie Ihre Klassen ablegen müssen. Solange Composer die Klassen autoladen kann, ist alles in Ordnung.Root-Verzeichnis
Wenn Sie ein neues Laravel-Projekt anlegen, entsteht folgende Verzeichnisstruktur:Verzeichnis app/
Speichert den Kern-Code Ihrer Anwendung.
Nahezu alle Klassen Ihrer Anwendung – Controller, Modelle, Middleware und mehr – liegen hier.
Standardmäßig enthält es die Unterverzeichnisse Http, Models und Providers.
Wenn Sie Klassen mit Artisan-Befehlen erzeugen, werden weitere Unterverzeichnisse automatisch angelegt.
Verzeichnis bootstrap/
Enthält die Datei app.php, die das Framework startet.
Außerdem enthält es das Verzeichnis cache/, das Performance-Optimierungsdateien wie Route- und Service-Cache speichert.
Verzeichnis config/
Enthält alle Konfigurationsdateien Ihrer Anwendung.
Es wird empfohlen, diese Dateien durchzulesen, damit Sie die verfügbaren Optionen kennenlernen.
Verzeichnis database/
Speichert Datenbank-Migrationen, Modell-Factories und Seeder.
Auch eine SQLite-Datenbankdatei kann hier abgelegt werden.
Verzeichnis public/
Enthält die Datei index.php, die den Einstiegspunkt aller Anfragen an Ihre Anwendung bildet.
Außerdem werden hier Assets wie Bilder, JavaScript und CSS abgelegt.
Verzeichnis resources/
Enthält Views sowie unkompilierte Assets wie CSS und JavaScript.
Verzeichnis routes/
Speichert alle Routendefinitionen Ihrer Anwendung.
Standardmäßig gibt es zwei Routen-Dateien: web.php und console.php.
| Datei | Zweck |
|---|---|
web.php | Routen für den Browser. Auf sie wird die Middleware-Gruppe web angewendet, die Session, CSRF-Schutz und Cookie-Verschlüsselung bereitstellt. |
console.php | Datei, in der Sie Artisan-Befehle als Closures definieren. |
api.php | Stateless-API-Routen. Mit dem Befehl install:api hinzugefügt. |
channels.php | Datei zur Registrierung von Broadcasting-Kanälen. |
Verzeichnis storage/
Speichert vom Framework erzeugte Dateien wie Logs, kompilierte Blade-Templates, dateibasierte Sessions und File-Cache.
Es ist in die drei Unterverzeichnisse app/, framework/ und logs/ aufgeteilt.
Verzeichnis tests/
Speichert Ihre automatisierten Tests.
Beispiele für Unit- und Feature-Tests mit Pest oder PHPUnit sind von Anfang an enthalten.
Verzeichnis vendor/
Enthält die Composer-Abhängigkeiten. Committen Sie dieses Verzeichnis nicht in die Versionskontrolle.
Details zum Verzeichnis app/
Viele Klassen im Verzeichnis app lassen sich mit Artisan-Befehlen erzeugen.
Um die verfügbaren Befehle zu sehen, führen Sie aus:
Verzeichnis Http/
Verzeichnis Http/
Enthält Controller, Middleware und Form Requests.
Nahezu die gesamte Logik zur Verarbeitung von Anfragen befindet sich hier.
Verzeichnis Models/
Verzeichnis Models/
Enthält sämtliche Eloquent-Modell-Klassen.
Für jede Datenbanktabelle gibt es ein zugehöriges Modell, mit dem Sie Daten abfragen und einfügen.
Verzeichnis Providers/
Verzeichnis Providers/
Enthält alle Service Provider Ihrer Anwendung.
Service Provider binden Dienste in den Container, registrieren Events und übernehmen weitere Startaufgaben.
Verzeichnis Console/
Verzeichnis Console/
Enthält alle eigenen Artisan-Befehle.
Sie können mit
make:command erzeugt werden.Verzeichnis Exceptions/
Verzeichnis Exceptions/
Enthält alle benutzerdefinierten Exceptions Ihrer Anwendung.
Sie können mit
make:exception erzeugt werden.Wichtige Dateien
Datei .env
Verwaltet Konfigurationswerte, die sich je nach Umgebung unterscheiden (z. B. Datenbank-Zugangsdaten oder API-Schlüssel).
Sie werden über den Helper env() aus den Konfigurationsdateien in config/ referenziert.
Datei artisan
Der Einstiegspunkt der Artisan-Kommandozeilenschnittstelle.
Sie führen sie in der Form php artisan <Befehlsname> aus.
Nächste Schritte
Routing
Lernen Sie, wie Sie Routen definieren und URLs mit Anwendungslogik verknüpfen.