Académique Documents
Professionnel Documents
Culture Documents
INSTALLATION LARAVEL
composer create-project laravel/laravel example-app
ARCHITECTURE DE LARAVEL
Le fichier composer.json con ent la liste des dépendances nécessaires à notre projet, ce
fichier doit être versionné.
Le dossier vendor con ent lui les sources de ces dépendances, ce dossier ne doit pas être
versionné.
Le fichier composer.lock con ent l'état exact (la version) de nos dépendances au moment où
l'on travaille sur le projet, pour moi il doit être versionné.
ROUTING
Channels.php : Définir des évènements laravel côté serveur qui vont appeler des services côté client
(websocket) . Interac on entre le serveur / client
}) ;
Route::get($url, $callback);
Route::post($url, $callback);
Route::put($url, $callback);
Route::patch($url, $callback);
Route::delete($url, $callback);
Route::op ons($url, $callback);
Permet de générer
- /users
- /users/create
- /users/{user}
- /users/{user}/edit,
- /users {POST}
//Passer un paramètre
Route::get('/name/{name}', function($name){
return 'nom : ' . $name;
});
//Redirection d'url
Route::redirect('/ici','/la');
Route::redirect('/ancien-url','/nouveau-url', 301);
//ou
Route::permanentRedirect('/ancien-url','/nouveau-url');
GET
CREATION DE TABLES
Migra on table existant
Une fois ce e migra on create_roles_table crée, voici le code qu’il faut ajouter :
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Modifier le fichier
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
ROUTE
Les différents types de relation entre les modèles de
données dans Laravel
hasOne : Cette relation indique qu’un enregistrement dans la table A ne peut être associé
qu’à un seul enregistrement dans la table B. Il s’agit d’une relation « un à un » entre deux
modèles de données. Ainsi la relation hasOne peut être décrite comme une association de
type 1:1. Par exemple :
hasMany : Cette relation indique qu’un enregistrement dans la table A peut être associé à
plusieurs enregistrements dans la table B. La relation hasMany peut être décrite comme une
association de type 1:n. Par exemple :
Pour mieux comprendre la différence entre les deux dernières relations hasMany et
belongsTo. on peut schématiser les choses de la manière suivante :
La relation hasMany est utilisée lorsqu’un modèle est en relation avec plusieurs
instances d’un autre modèle. Par exemple, un utilisateur peut avoir plusieurs
commentaires, ou une entreprise peut avoir plusieurs employés. Dans ce cas, le
modèle qui a plusieurs instances est considéré comme le modèle parent et le modèle
qui a une seule instance est considéré comme le modèle enfant. Ainsi, la relation
hasMany est définie dans le modèle parent en utilisant la méthode hasMany.
La relation belongsTo est utilisée lorsqu’un modèle est en relation avec une seule
instance d’un autre modèle. Donc un commentaire peut être associé qu’à un seul
utilisateur, ou un employé peut être associé qu’à une seule entreprise. Dans ce
cas, le modèle qui a une seule instance est considéré comme le modèle parent et le
modèle qui a plusieurs instances est considéré comme le modèle enfant. La relation
belongsTo est définie dans le modèle enfant en utilisant la méthode belongs. On
peut considérer que c’est la fonction » inverse » qui vient compléter notre hasMany
que nous venons de voir au dessus.
belongsToMany : Cette nouvelle relation indique qu’un enregistrement dans la table A peut
être associé à plusieurs enregistrements dans la table B, et vice versa. Cette relation est
souvent utilisée pour représenter des relations de type » many-to-many « . On peut donc
aussi indiquer que la relation belongsToMany peut être décrite comme une association de
type n:m. Quelques exemples :
Dit autrement, la relation hasManyThrough peut être décrite comme une association de
type 1:n, mais en passant par une table de plus. Il faut donc imaginer qu’un enregistrement
dans une table A peut être associé à plusieurs enregistrements dans une table B en passant par
une table C.