Laravel ist ein elegantes PHP-Framework, das die Entwicklung moderner Webanwendungen vereinfachen soll. Wenn Sie ein neues Laravel-Projekt erstellen, verfügt es über eine gut organisierte Verzeichnisstruktur, die Best Practices und eine klare Trennung der Anliegen fördert. Lassen Sie uns in die Hauptverzeichnisse und ihre Zwecke eintauchen.
Eine neue Laravel-Installation enthält die folgenden Schlüsselverzeichnisse:
project-root/ |-- app/ |-- bootstrap/ |-- config/ |-- database/ |-- public/ |-- resources/ |-- routes/ |-- storage/ |-- tests/ |-- vendor/
Dies ist das Herzstück Ihrer Anwendung, in dem sich der Großteil Ihrer Logik befindet. Das Verzeichnis app/ enthält Unterordner für verschiedene Anwendungskomponenten:
Konsole/: Enthält benutzerdefinierte Artisan-Befehle.
Ereignisse/: Definiert Ereignisse, auf die Ihre Anwendung warten kann.
Ausnahmen/: Behandelt Ausnahmen und benutzerdefinierte Fehlerberichte.
Http/:
Controller/: Enthält die Controller Ihrer Anwendung.
Middleware/: Speichert Middleware zum Filtern von HTTP-Anfragen.
Models/: Der Standardspeicherort für Ihre Eloquent-Modelle.
Observers/: Hält Beobachterklassen für die Behandlung von Modellereignissen.
Richtlinien/: Enthält Autorisierungslogik für bestimmte Modelle.
Anbieter/: Speichert Dienstanbieter, die verschiedene Teile der Anwendung booten.
Dieses Verzeichnis enthält die ersten Bootstrap-Dateien der Anwendung. Die bemerkenswerteste Datei hier ist app.php, die das Laravel-Framework initialisiert.
Zusätzlich enthält es einen Cache/Ordner zum Speichern von Framework-generierten Cache-Dateien, um die Leistung zu verbessern.
Wie der Name schon sagt, enthält dieses Verzeichnis alle Konfigurationsdateien für Ihre Anwendung. Mit diesen Dateien können Sie Einstellungen für Dienste, Datenbankverbindungen, E-Mail, Caching und mehr verwalten. Zum Beispiel:
app.php für Kernanwendungseinstellungen.
database.php für Datenbankkonfigurationen.
mail.php für E-Mail-Diensteinstellungen.
Dieses Verzeichnis verwaltet alle datenbankbezogenen Dateien:
Fabriken/: Enthält Fabrikklassen für das Seeding von Testdaten.
migrations/: Speichert Migrationsdateien zum Definieren Ihres Datenbankschemas.
Seeder/: Enthält Seeder zum Füllen Ihrer Datenbank mit Beispieldaten.
Dieses Verzeichnis ist der Einstiegspunkt für Webanfragen und enthält die vorderen Dateien Ihrer Anwendung. Zu den wichtigsten Inhalten gehören:
index.php: Die primäre Datei, die alle eingehenden Anfragen verarbeitet.
Statische Assets wie Bilder, CSS- und JavaScript-Dateien.
In diesem Verzeichnis werden Anwendungsressourcen gespeichert, die kompiliert oder zum Generieren von Ansichten verwendet werden. Zu den Unterverzeichnissen gehören:
views/: Enthält Blade-Vorlagendateien für das Frontend Ihrer Anwendung.
lang/: Enthält Sprachdateien zur Lokalisierung.
css/ und js/ (in sass/ und js/): Standardordner für Ihre CSS- und JavaScript-Assets.
Hier befindet sich die Routing-Logik Ihrer Anwendung. Laravel stellt separate Dateien für verschiedene Routentypen bereit:
web.php: Verarbeitet Routen für Webanfragen (normalerweise mit Sitzungen und Cookies).
api.php: Verarbeitet Routen für API-Anfragen (zustandslos).
console.php: Definiert benutzerdefinierte Artisan-Befehle.
channels.php: Definiert Event-Übertragungskanäle.
Dieses Verzeichnis enthält von Ihrer Anwendung generierte Dateien und das Framework selbst:
app/: Speichert von der Anwendung generierte Dateien.
framework/: Speichert Framework-Caches, Sitzungen und kompilierte Ansichten.
logs/: Enthält Protokolldateien zum Debuggen und zur Fehlerverfolgung.
Alle Anwendungstests werden hier gespeichert. Standardmäßig enthält es Verzeichnisse für Funktions- und Komponententests:
Feature/: Tests, die die Funktionalität des gesamten Anwendungsstapels bewerten.
Einheit/: Tests, die bestimmte Funktionen oder Klassen validieren.
Dieses Verzeichnis enthält alle über Composer installierten Pakete von Drittanbietern. Sie sollten diesen Ordner niemals direkt ändern.
Wenn Sie in Laravel entwickeln, hilft Ihnen das Verständnis des Zwecks jedes Verzeichnisses dabei, Ihren Code logisch zu organisieren. Zum Beispiel:
Platzieren Sie Geschäftslogik in Modellen innerhalb von App/Modellen.
Schreiben Sie benutzerdefinierte Routen in Routen/web.php oder Routen/api.php.
Behalten Sie wiederverwendbare Komponenten, wie z. B. Layouts, in Ressourcen/Ansichten.
Befolgen Sie die Laravel-Konventionen: Laravel hat aus einem bestimmten Grund eine vordefinierte Struktur – halten Sie sich daran, sofern dies nicht unbedingt erforderlich ist.
Verwenden Sie Unterordner zur Skalierbarkeit: Erwägen Sie bei größeren Projekten die Erstellung von Unterordnern innerhalb von Controllern oder Modellen, um verwandte Dateien zu gruppieren.
Handwerksbefehle nutzen: Verwenden Sie Befehle wie php artisan make:model, php artisan make:controller usw., um Dateien automatisch an den richtigen Speicherorten zu platzieren.
Durch die Beherrschung der Verzeichnisstruktur von Laravel gewinnen Sie die Sicherheit, Ihre Projekte effektiv zu navigieren, zu verwalten und zu skalieren. Seien Sie gespannt auf Tag 4, an dem wir uns mit der Konfiguration von Laravel entsprechend Ihren Entwicklungsanforderungen befassen!
Das obige ist der detaillierte Inhalt vonTag zur Erkundung der Verzeichnisstruktur von Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!