Les conventions de nommage sur Laravel

Les contrôleurs

Les contrôleurs doivent être au singulier, sans espacement entre les mots et se terminent par Controller. C'est ce qu'on appelle le format PascalCase.


Exemples : UserController / HomeController


Les méthodes dans les contrôleurs

Les méthodes devront suivre la règle du camelCase, c'est à dire avec la première lettre en minuscule et les mots suivants avec une majuscule.


Exemples : index() / create()	


Les tables de la base de données

Le nom des tables doit être en minuscule et au pluriel. Si elle est composée de plusieurs mots, il faut les séparer par des _


Exemples : users / posts / picture


Les tables pivot

Tout comme le nom des tables, les tables pivot doivent être en minuscule mais par contre au singulier. Elle reprendra le nom des 2 tables à lier avec un _ pour séparation. Il conviendra de les mettre par ordre alphabétique.


Exemples : category_post / role_user


Le nommage des colonnes

Les noms doivent être en minuscule et séparés par un _ Il n'est pas nécessaire de rappeler le nom de la table dans le nom du champ.


Exemples : id / name / content / created_at


Les clés primaires des tables

Par convention, il faut les nommer simplement id


Les clés étrangères

Ces clés, également appelées en anglais foreign keys doivent être formées du nom de la table en référence suivant de _id


Exemples : user_id (fait référence à l'id de la table users) / post_id (fait référence à l'id de la table posts)


Les variables PHP

Celles-ci doivent être écrites en camelCase, c'est à dire avec le premier caractère en minuscule et les mots suivants avec une majuscule.

Une variable sera notée au pluriel si le résultat attendu contiendra plusieurs éléments sinon on la mettra au singulier.


Exemples : $users / $countPosts


Les modèles

Les modèles commenceront par une majuscule, sans espace et une majuscule pour chaque mot. C'est au format PascalCase.


Exemples : User / Post


Les propriétés des modèles

Les propriétés seront notées en snake_case, en minuscule. C'est la même convention de nommage que les noms des colonnes de la base de données.


Exemples : $this->name / $this->params


Les méthodes dans les modèles

Dans les modèles, les méthodes doivent être appelées en camelCase


Exemples : getUser() / getName()


Les relations entre les modèles

Pour les relations un vers un (one to one)

Elles doivent être au singulier et suivre les mêmes conventions d'appellation que les modèles normaux (camelCase, mais avec la première lettre en minuscule)


Exemples : public function phone() / public function post()


Pour les relations un vers plusieurs (one to many)

Elles doivent être également en camelCase mais au pluriel


Exemples : public function posts() / public function users()


Les relations polymorphiques

public function category()
{
  return $this->morphMany('App\Category', 'categoryable');
}


Laravel considère que les champs categoryable_id et categoryable_type existent


Les traits

Le nom d'un trait devra être un adjectif


Exemples : Notifiable / Dispatchable


Le nom des fichiers sous Blade

Ils devront être au format snake_case


Exemples : index.blade.php / post_users.blade.php



Article rédigé par Vincent, publié le 03/06/2020