Vous êtes sur la page 1sur 8

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')

Vous aimerez peut-être aussi