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. Les fichiers seront placés dans le dossier app\Traits
Exemples : Notifiable / Dispatchable
Le nom des fichiers sous Blade
Ils devront être au format snake_case
Exemples : index.blade.php / post_users.blade.php