Vous êtes sur la page 1sur 17

Concepts de base

Laravel
Table des matières
1. Définition :......................................................................................................................4

2. Installation de laravel :.....................................................................................................4

3. Les commandes nécessaires dans laravel projet :............................................................7

I. Création des modelés :.....................................................................................................7

II. Création de Controller :...............................................................................................7

III. Systèmes Laravel, système de routage :.......................................................................8

IV. Exemple des routes :....................................................................................................8

V. Exemple de Contrôleur :..............................................................................................8

VI. Création Migration des tableaux de base de données :.................................................9

VII. Création des Middleware :.........................................................................................10

a) Intergiciel mondial :...............................................................................................11

b) Définir le middleware sur les routes......................................................................11

VIII. Groupe de routage :...............................................................................................13

1. Regroupement 1. Route::resource et Route::apiResource......................................13

2. Regroupement 2. Groupe au sein d'un groupe :.....................................................13

3. Regroupement 3. Répétition du middleware dans le groupe :................................14

4. Regroupement 4. Contrôleurs de même nom, espaces de noms différents :...........14

5. Regroupement 5. Fichiers de routage séparés :......................................................15

6. Regroupement 6. Nouveau dans Laravel 9 : Route :: controller() :........................15

7. Site web pour laravel :...................................................................................................16


1. Définition :

Laravel est un Framework web open-source écrit en PHP respectant le


principe modèle-vue-contrôleur et entièrement développé en programmation
orientée objet. Laravel est distribué sous licence MIT, avec ses sources hébergées
sur GitHub. Est créer en juin 2011 par Taylor Otwell. Dernière version : 9.0 (8
février 2022).

2. Installation de laravel :

i) Etape 1 : installer logiciel WampServer ou xamp pour les


bases de données.
ii) Etape 2 : Installer composer sur Windows utilise le fichier
.exe :

télécharger https://getcomposer.org/Composer-Setup.exe

iii) Etape 3 : Vérifiez la configuration du serveur requise :

PHP> = 7.3

Extension PHP BCMath

Extension PHP Ctype

Extension PHP Fileinfo

Extension PHP JSON

Extension PHP Mbstring

Extension PHP OpenSSL

Extension PHP PDO


Extension PHP de Tokenizer

Extension PHP XML.

iv) Etape 4 : Installation de Laravel :

Tapez la commande suivante dans votre fenêtre d'invite de commande : 

composer global nécessite "laravel/installer".

« composer create-project –prefer-dist laravel/laravel Project_name »

« composer create-project laravel/laravel example-app »

cette commande installera Laravel et d'autres dépendances avec elle


générera également la clé ANSI.

v) Etape 5 : Créer une base de données pour le projet :

1/-Allez dans phpMyAdmin, cliquez sur créer un nouvel


onglet.

2/-Nommez la base de données.

3/-Appuyez sur le bouton Créer.

vi) Etape 6 : Mettre à jour le fichier .Env :


APP_NAME=Laravel 

APP_ENV=local 

APP_KEY=base64:TJ9Sob7KFPhL5XkqT+TyQux3x7UbW08QLb0xtirL
WSs= 

APP_DEBUG=vrai 

APP_URL=http://127.0.0.1:8000 

LOG_CHANNEL=pile 

LOG_LEVEL=déboguer 

DB_CONNEXION=mysql 

DB_HOST = 127.0.0.1 

DB_PORT=3306 

DB_DATABASE=premier-laravel 

DB_USERNAME=racine 

DB_PASSWORD= 

vii) Etape 7 : Migrer la base de données :

Dans cette etape en utilise la commande «php artisan migrate »

viii) Etape 8 : Démarrer le serveur de développement:

Dans cette etape en utilise la commande «php artisan serve »

ix) Etape 9 : Accédez à l'URL IP :


Accéder au Link https://127.0.0.1:8000

3. Les commandes nécessaires


dans laravel projet :

I. Création des modelés :   

Le modèle dans MVC est généralement l'élément qui contrôle les bases de
données. Grâce à lui, nous pouvons communiquer avec la base de données,
ajouter, supprimer, organiser des données et d'autres opérations importantes. La
façon de créer un modèle dans Laravel est très simple, mais avant de créer le
Modèle, nous devons nous familiariser avec un élément auxiliaire. Pour le
Modèle, qui s'appelle la Migration. En bref, la migration est un code simple qui
aide à construire la table de base de données associée au modèle, car il fournit un
plan pour la table qui montre son grand avantage lorsque vous travaillez au sein
d'une équipe. Des détails complets sur les systèmes de migration peuvent être
mentionnés dans le prochain section de l'article, et maintenant nous revenons à
l'objet de cette section, le modèle Le modèle est stocké dans le dossier
App/Models Création d'un nouveau modèle Pour créer un nouveau modèle, tout
ce que vous avez à faire est d'écrire la ligne suivante dans la commande ligne
dans le dossier du projet :

«php artisan make:model ModelName -m -c »

II. Création de Controller :

Le contrôleur ou le contrôleur en arabe, pour ainsi dire, est considéré


comme le cœur du projet et son cœur battant. Dans ces fichiers, vous pouvez
créer les opérations pour le projet et les envoyer aux pages qui apparaîtront à
l'utilisateur. créez un contrôleur dans Laravel, utilisez la commande suivante
dans la ligne de commande :

«php artisan make:controller ControllerName»

III. Systèmes Laravel, système de routage :

Le système de routage dans Laravel est incroyablement simple et facile. Il


vous faudra environ 20 secondes pour créer une nouvelle page, et cela peut ne
pas prendre plus de 3 minutes pour créer une page intégrée (sans design). Tous
les itinéraires peuvent être trouvés dans le chemin suivant :

«Route::METHOD('PAGE-LINK' , 'RESULT');»

« Route::get('page-link/{parametre}' ,
'CotrollerName@MethodName'); »

NB : Les méthodes dans les routes ce sont : GET,POST et PUT.

IV. Exemple des routes :

Route::get('page-link' , function(){

return "Hello World From Laravel";

});

V. Exemple de Contrôleur :

Dans le contrôleur en implémenter les fonctions qui vous avez


utilisé.

<?php
namespace App\Http\Controllers;
class Admin extends Controller{

public function count(){

$a = 1;
$b = 2;
$c = $a + $b;
return view('index')->with('c' , $c);

Dans Le view en utilise la syntaxe suivante :

<h1>{{ $c }}</h1>

VI. Création Migration des tableaux de base de


données :

Pour créer la migration des tableaux de base de données en utilise la


commande suivante :

« php artisan make:migration create_nametable_table »


La résultat fichier suivante :

VII.
VIII. Création des Middleware :

Le middleware fournit un mécanisme pratique pour trier les requêtes


HTTP qui entrent dans votre application. Par exemple, Laravel inclut un
middleware qui vérifie si l'utilisateur de votre application est authentifié. S'il
n'est pas authentifié, le middleware le redirige vers la page de connexion. S'il est
authentifié, le logiciel permettra à la demande de passer au reste de l'application.

Bien sûr, un middleware peut être écrit pour effectuer une grande variété
de tâches autres que la connexion. Un middleware CORS peut être chargé
d'ajouter les en-têtes appropriés à toutes les réponses envoyées par votre
application. Un programme de journalisation peut enregistrer toutes les
demandes entrantes pour votre application.

Le framework Laravel contient plusieurs middlewares, y compris des


logiciels d'authentification et de protection CSRF. Tous ces middlewares sont
situés dans le répertoire app/Http/Middleware.

Pour créer le middleware en utilise la commande suivante :

« php artisan make:middleware CheckAge »

Le résultat de création comme suivante :

<?php

namespace App\Http\Middleware;

use Closure;
class CheckAge
{

public function handle($request, Closure $next)


{

if ($request->age <= 200) {

return redirect('home');

return $next($request);

a) Intergiciel mondial :

Si vous souhaitez exécuter un middleware avec chaque requête HTTP pour votre
application, incluez la classe middleware dans la propriété $middleware de la classe
app/Http/Kernel.php.
b) Définir le middleware sur les routes

Si vous souhaitez affecter un middleware à des chemins spécifiques, vous


devez d'abord affecter au middleware une clé dans votre fichier
app/Http/Kernel.php. La propriété $routeMiddleware de cette classe contient
des entrées pour le middleware contenu dans Laravel. Pour ajouter votre logiciel,
placez-le dans cette liste et attribuez-lui une clé de votre choix. Par exemple:

protected $routeMiddleware = [

'auth' => \Illuminate\Auth\Middleware\Authenticate::class,


'auth.basic' => \Illuminate\Auth\Middleware\
AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\
SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\
RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\
ThrottleRequests::class,

];

Et utilise la middleware come suivante :

Route::get('admin/profile', function () {
//

})->middleware('auth');

Route::get('/', function () {

//

})->middleware('first', 'second');

use App\Http\Middleware\CheckAge;

Route::get('admin/profile', function () {

//

})->middleware(CheckAge::class);

IX. Groupe de routage :

1. Regroupement 1. Route::resource et
Route::apiResource :

Route::get('books', [BookController::class, 'index'])->name('books.index');


Route::get('books/create', [BookController::class, 'create'])-
>name('books.create');

Route::post('books', [BookController::class, 'store'])->name('books.store');

Route::get('books/{book}', [BookController::class, 'show'])-


>name('books.show');

Route::get('books/{book}/edit', [BookController::class, 'edit'])-


>name('books.edit');

Route::put('books/{book}', [BookController::class, 'update'])-


>name('books.update');

Route::delete('books/{book}', [BookController::class, 'destroy'])-


>name('books.destroy');

Groupement :

Route::resource('books', BookController::class);

2. Regroupement 2. Groupe au sein d'un


groupe :

Route::middleware('auth')->group(function() {

Route::middleware('is_admin')->prefix('admin')->group(function() {

Route::get(...) // administrator routes

});

Route::middleware('is_user')->prefix('user')->group(function() {

Route::get(...) // user routes

});

});
3. Regroupement 3. Répétition du middleware
dans le groupe :

Route::prefix('students')-
>middleware(['check_user','check.invoice.status'])->group(function () {

// ... student routes

});

Route::prefix('managers')->middleware(['check_user'])->group(function ()
{

// ... manager routes

});

4. Regroupement 4. Contrôleurs de même nom,


espaces de noms différents :

Route::prefix('admin')->namespace('App\Http\Controllers\Admin')-
>middleware('is_admin')->group(function () {

Route::get('home', [HomeController::class, 'index']);

// ... other controllers from Admin namespace

});

Route::prefix('user')->namespace('App\Http\Controllers\User')->middleware('is_user')-
>group(function () {

Route::get('home', [HomeController::class, 'index']);

// ... other controllers from User namespace

});
5. Regroupement 5. Fichiers de routage
séparés :

$this->routes(function () {

Route::middleware('api')

->prefix('api')

->group(base_path('routes/api.php'));

Route::middleware('web')

->group(base_path('routes/web.php'));

Route::middleware('is_admin')

->group(base_path('routes/admin.php'));

});

6. Regroupement 6. Nouveau dans Laravel 9 :


Route :: controller() :

Route::controller(ProfileController::class)->group(function() {

Route::get('profile', 'getProfile');

Route::put('profile', 'updateProfile');

Route::delete('profile', 'deleteProfile');

});

7.
8. Site web pour laravel :

Laravel Route Grouping: 6 Techniques to Organize Routes | Laravel News (laravel-news.com)

Laravel - ‫( موسوعة حسوب‬hsoub.com)

Vous aimerez peut-être aussi