Support de cour
➢ Définition de Framework` `
➢ Les avantages de Framework laravel
➢ L‘architecture MVC
➢ Installation complète de Laravel (Composer, commandes PHP Artisan)
➢ Architecture du Framework Laravel
➢ Création d’un premier projet
➢ Lancement du serveur Laravel
➢ Artisan
B.1- Connaître les fondements du modèle MVC Laravel
Gestion du routage
- Routage de base (redirection, affichage, liste de routes)
- Paramètres de routage
- Routes nommées
- Groupe de routage
• Définition de Framework
Un Framework est un ensemble d'outils et de conventions conçus pour faciliter le développement
logiciel en fournissant une structure préétablie pour les applications.
• Les avantages de Framework laravel
- une sécurité de haut niveau : Avec Laravel, votre application Web ne présente aucun risque
d’injections SQL
- Performance
- Laravel facilite la création rapide d'applications web multilingues grâce à ses fonctionnalités
dédiées à la gestion efficace des langues.
- Tests unitaires
- Bibliothèques orientées objet:
• L‘architecture MVC
➢ Installation complète de Laravel (Composer, commandes PHP Artisan)
Installer Laravel dans notre ordinateur :
Composer global require laravel/installer
Créer notre premier projet laravel (project_laravel)
- Méthode 1 : laravel new project_laravel
- Méthode 2: composer create-project laravel/laravel project_laravel2
• Architecture du Framework Laravel
• Laravel Artisan
est une Interface en Ligne de Commande (CLI) qui va vous permettre de gérer votre application
en lançant des commandes via le terminal
- Lancement du serveur Laravel , lancer le projet Laravel
php artisan serve ou php artisan serv
- Afficher la liste des commandes artisan :
php artisan List
- Pour afficher un écran d'aide, faites précéder le nom de la commande de help
php artisan help migrate
- Pour créer un modèle
php artisan make:model NomDuModel
- Pour créer un Controller
php artisan make:controller NomdeController
- Pour créer un Midlleware
php artisan make: midlleware NomDuMidlleware
- Vérifier la version de Laravel installée
php artisan -version
- voir toutes les routes de votre application
Artisan route:list
- Exécuter toutes les migrations:
php artisan migrate
- Affiche les routes :
php artisan route:list
Gestion du routage
• Routage de base (redirection, affichage, liste de routes)
Route::get('/', function () { return view('welcome'); });
Route::get('/', function () {
$nom="Mohamed bouchaai";
return view('welcome',['nom'=>$nom]);});
Redirection
Route::redirect('/ ancienne-url’, '/nouvelle-url’);
Route::get('phones', function () {
return redirect('/store/phones'); });
Par défaut renvoie un code d'état 302
ATTENTION ⚠ REDIRECTION PERMANENTE
Route::redirent('/ ancienne-url’, '//nouvelle-url', 301);
Route::permanentRedirect(''/ ancienne-url’, '//nouvelle-url'); par default statuts 301
• Paramètres de routage
Permet de définir des routes avec des paramètres variables
Route::get('/user/{id}', function ($id) {
return 'User ID: '.$id; }); // example URL http://localhost:8000/user/18
paramètre optionnel
La syntaxe {id?} dans une route Laravel permet de définir un paramètre
optionnel dans l'URL. Cela signifie que l'URL peut avoir un segment
correspondant à un ID, mais cet ID peut être facultatif.
Route::get('/user/{id?}', function ($id=null) {return 'User ID: '.$id; });
Route::get('/', function () {
return view('welcome',['name'=>'YourName']);});
Dans ce cas particulier, le tableau ['name'=>'YourName'] contient une
paire clé-valeur où la clé est 'name' et la valeur est 'Value'. Cela
signifie que dans la vue (example welcome.blade.php), vous aurez accès à
une variable $name ayant la valeur ‘YourName’
…
<body>
<h1>Welcome, {{$name}} </h1>
</body>
…
Recuperation les parameter via Request
use Illuminate\Http\Request;
// don't forget to import namespace ‘Illuminate\Http\Request’ to use
Request
Route::get('/user/{id?}/{cat?}', function (Request $request){
$id=$request->id;
$cat=$request->cat;
return "User ID = $id Catigory =$cat";});
• Routes nommées
• Les routes nommées permettent la génération pratique d'URL ou de redirections pour des
routes spécifiques. Vous pouvez
Spécifier un nom pour une route en enchaînant la méthode name sur la définition de route
Route::get('/user/{id?}', function ()
{return view(‘welcome’)})->name('le Nome de route');
• Fallback
En utilisant la méthode Route::fallback, vous pouvez définir une route qui
sera exécutée lorsqu'aucune autre route ne correspond à la demande entrante.
Route::fallback(function(){return 'PAGE NOt FOUND';});
Route::fallback(function(){return view('ErreurPage');});
Groupe de routage
syntax
route::group(['prefix'=>'ofppt','middlerware'=>'CheckAge','as'=>'filler.'], function () {
//route::get('/user',function(){ return view();})->withoutMiddleware('middleware_name');
Route::get('/tdi', function () { return view('layouts/layout1');})->name('tri');
Route::get('/tri', function () { return view('layouts/layout2');})->name('tdi');
Route::get('/tdd', function () {
return view('layouts/layout3');})->name('tdd')->withoutMiddleware(['ChechAge','CheckPermession'..]);
});
'
$route = Route::current();// Illuminate\Routing\Route
$name = Route::currentRouteName(); // string
$action = Route::currentRouteAction(); // string
$url = route('Home');// Url
Les Vues imbriquee
Controller
Create Controller php artisan make:Controller Controller_Name
You will find your Controller in App\Http\Controllers Just Like that
Pour Utilise le Controller import namespace premièrement
use App\Http\Controllers\Controller_Name;
Method 1
route::get('/', 'App\Http\Controllers\Controller_Name@function_Name');
method 2
route::get('/', [Controller_Name::class, 'function_Name']);
Middleware
Create middleware php artisan make:middleware middleware_Name
Use middleware with simple route
Route::get('/', function () { return view('welcome');
})->middleware('middleware_Name');
NOTE Middleware will execute first before the Controller
Middleware with Controller
Route::get('/{x}/{y}','App\Http\Controllers\Calculatrice@Calcul')>middleware(‘middlew
are_Name')