Laravel folgt einer Reihe von Namenskonventionen, die dazu beitragen, die Struktur von Anwendungen zu organisieren und die Entwicklung von Code zu vereinfachen. Einige der wichtigsten Namenskonventionen von Laravel sind:
- Klassen- und Dateinamen: Klassen in Laravel sollten immer nach dem CamelCase-Format benannt werden, während Dateinamen in kebab-case formatiert sein sollten. Zum Beispiel:
UserController.php
oderPostComment
. - Namespace: Laravel verwendet ein Namespace-System, um Klassen innerhalb von Modulen zu organisieren. Der Namespace wird normalerweise durch die Ordnerstruktur im Projekt definiert. Zum Beispiel:
App\Http\Controllers\Admin
. - Models: Laravel verwendet eine Konvention für die Benennung von Models. Der Name des Models sollte der Name der zugehörigen Datenbanktabelle entsprechen. Zum Beispiel:
User
für die Tabelle “users”. - Tabellennamen: Tabellennamen sollten immer im Plural formatiert sein. Zum Beispiel: “users” statt “user”.
- Routennamen: Routennamen sollten in kebab-case formatiert werden und eine eindeutige Beschreibung der Funktion der Route enthalten. Zum Beispiel:
post-comment
für eine Route, die einen Kommentar für einen Post erstellt. - Methodennamen: Methodennamen sollten im CamelCase-Format formatiert sein und eine Beschreibung der ausgeführten Aktion enthalten. Zum Beispiel:
getUserById()
für eine Methode, die einen Benutzer anhand seiner ID abruft. - Variablennamen: Variablennamen sollten im CamelCase-Format formatiert sein und eine Beschreibung des gespeicherten Werts enthalten. Zum Beispiel:
$userName
für den Benutzernamen eines Benutzers.
Diese Namenskonventionen helfen dabei, die Struktur von Laravel-Anwendungen zu organisieren und erleichtern es Entwicklern, Code effizient zu schreiben und zu warten.
Befolgen Sie die Namenskonventionen von Laravel
Folgen Sie den PSR standards.
Befolgen Sie außerdem die von der Laravel-Community akzeptierten Namenskonventionen:
Was | Wie | Gut | Schlecht |
Controller | Singular | ArticleController | |
Route | Plural | articles/1 | |
Benannte Route | snake_case mit Punktnotation | users.show_active | |
Model | Singular | User | |
hasOne oder belongsTo Beziehung | Singular | articleComment | |
Alle anderen Beziehungen | Plural | articleComments | |
Tabelle | Plural | article_comments | |
Pivot-Tabelle | singuläre Modellnamen in alphabetischer Reihenfolge | article_user | |
Tabellenspalte | snake_case ohne Modellname | meta_title | |
Model-Eigenschaft | snake_case | $model->created_at | |
Fremdschlüssel | singulärer Modellname mit Suffix _id | article_id | |
Primärschlüssel | – | id | |
Migration | – | 2017_01_01_000000_create_articles_table | |
Methode | camelCase | getAll | |
Methode im Ressourcencontroller | Tabelle | store | |
Methode in einer Testklasse | camelCase | testGuestCannotSeeArticle | |
Variable | camelCase | $articlesWithAuthor | |
Collection | beschreibend, Plural | $activeUsers = User::active()->get() | |
Objekt | beschreibend, Singular | $activeUser = User::active()->first() | |
Konfigurations- und Sprachdateien index | snake_case | articles_enabled | |
View | kebab-case | show-filtered.blade.php | |
Config | snake_case | google_calendar.php | |
Vertrag (Interface) | Adjektiv oder Substantiv | AuthenticationInterface | |
Trait | Adjektiv | Notifiable | |
Trait (PSR) | Adjektiv | NotifiableTrait | |
Enum | Singular | UserType | |
FormRequest | Singular | UpdateUserRequest | |
Seeder | Singular | UserSeeder |