FRAMEWORK LARAVEL Présenté par: Wajdi BOUAZIZ Expert en développement web PARTI
FRAMEWORK LARAVEL Présenté par: Wajdi BOUAZIZ Expert en développement web PARTIE1 Introduction à l’architecture de Laravel 1. Introduction 2. Présentation & installation 3. Architecture MVC 4. Routing 5. Controllers 6. Blade Introduction Dans ce cours je vous ferai découvrir et apprendre le Framework PHP Laravel 8 et vous initierai à sa prise en main de manière progressive. Les connaissances requises pour pouvoir suivre ce cours sont : • L'architecture MVC (Model View Controller) • La POO en PHP (Programmation Orientée Objet) • Et bien évidemment être déjà à l'aise avec les langages HTML/CSS/JS et PHP Présentation & installation - Laravel est un framework PHP qui propose des outils pour construire des applications et des sites web. - Il regroupe les meilleures librairies pour chaque fonctionnalité nécessaire à la création d’un site web. - Il a été construit en se basant sur Symfony. - En juin 2011, Laravel a publié sa première version Laravel 1 Présentation & installation Voici pourquoi Laravel est si populaire pour les développeurs et les entreprises : Moteur de modèle : Laravel fournit aux développeurs Web un moteur de modèle « BLADE » qui est léger et facile à utiliser. Artisan : est une CLI (Command Line Interface) qui aide les développeurs à construire leurs applications web rapidement. Elle est utile pour générer les bases de données et créer les fichiers MVC de base. ORM Eloquent : Assure l’intéraction avec la base de données SQL. Architecture MVC: Laravel est basé sur l’architecture MVC qui améliore les performances des applications web. Sécurité: Laravel aident à protéger le code d’une application contre divers types d’attaques telles que les injections SQL, les vulnérabilités XSS, la falsification de requêtes intersites (CSRF), etc… Présentation & installation Avant de commencer l’installation, vérifier que votre composer est bien installé : ouvrez votre terminal et tapez la commande : composer –version Commençons donc par créer un nouveau projet Laravel. Tout en restant sur votre terminal dirigez-vous vers votre dossier à la racine de votre serveur. D:\laragon\www Et tapez : composer create-project -–prefer-dist laravel/laravel laravel1 Cette commande vous installera automatiquement la dernière version stable de Laravel Présentation & installation Après avoir tout installé nous pouvons voir que le dossier « laravel1 » a bien été créé et voici ce que l’on y trouve à l’intérieur : /app : est le dossier où se trouve le cœur de votre application web (controllers, middlewares, facades, providers, helpers etc…) /config : vos fichiers de configurations d’application, authentification, namespace, mails, base de données etc… /database : Vous y trouverez notamment vos migrations (qui permettent de gérer votre base de données avec un système de versioning) ainsi que les seeds et factories (pour tester votre base de données avec des fake data). Présentation & installation /public : par convention comme pour la majorité des frameworks il s’agit du seul dossier accessible depuis le serveur où les fichiers sont accessibles depuis votre site (images, feuilles de style et scripts principalement). /resources : vos assets de feuilles de style (en sass) et fichiers JS, les fichiers de langues si vous désirez un site multi-langual et l’ensemble de vos vues. /routes : vous trouverez notamment le fichier web.php qui vous permettra de définir l’ensemble des routes de votre application. Présentation & installation /.env = étroitement lié au fichier /config/app.php , il définit l’environnement de l’application (base de données utilisées, nom de l’application etc…) composer.json : il s’agit du fichier permettant à Composer de gérer les dépendances de l’application. Présentation & installation Les autres dossiers et fichiers sont moins importants à connaitre pour l’instant, je ne vous demanderai pas de vous en servir, mais à titre d’information : • /bootstrap : demarrage de l’app. /storage : dossier de stockage. /tests : tests unitaires (pour éviter de tester manuellement l’application à chaque fois). /vendor : Ensemble des dépendances externes. • Voilà ! Ceci est l’architecture de Laravel et votre tout premier pas dans la compréhension de sa logique! Présentation & installation comment je teste l’accès à mon projet ? utiliser la commande suivante : cd laravel1 php artisan serve copier/coller le lien, que la console vous renvoie, dans votre navigateur (http://127.0.0.1:8000) Vous devez voir cette page => Cela indique que votre projet Laravel est bien installé! Présentation & installation Quels sont les fichiers à l’origine de cette page ? Pour cela dirigeons nous vers le fichier web.php situé dans le dossier « routes ». Route::get('/', function() { return view('welcome'); }); Nous pouvons voir que la route ‘/’ return une method view() avec comme paramètre 'welcome’. Qu’est-ce-que tout cela veut dire ? Cela veut dire que pour la route ‘/’ on retourne une vue appelé welcome. Qui se trouve plus précisément dans resources/views/welcome.blade.php (Blade étant le moteur de template utilisé par Laravel, nous verrons cela plus tard). Architecture MVC Laravel utilise une architecture dite MVC (Model – View – Controller) Architecture MVC • Le model contient les données et leur logique. • La view contient la présentation graphique à renvoyer à l’utilisateur. • Le controller traite les actions utilisateur (via des requêtes), demande au modèle d’effectuer les changements, puis passe les données à la vue. Architecture MVC Nous allons maintenant installer npm qui est le gestionnaire de paquets officiel de Node.js. (Node est une plateforme de logiciel libre et événementielle en Javascript). Il nous permettra de compiler nos assets et d’envoyer la version compilée dans notre dossier « public ». Pour l’installer, ouvrez votre console et lancez : npm install Puis npm run dev Pour ajouter le lien de votre style dans la vue : <link href="{{ asset('css/app.css') }}" rel="stylesheet"> Routing Qu’est-ce que le routage sous Laravel? Laravel fournit un système de routes simple. Déclarer une route permet de lier une URI à un code à exécuter. Le routage est un moyen de créer une URL de requête pour votre application. La meilleure chose à propos du routage Laravel est que vous êtes libre de définir vos routes comme vous le souhaitez. Le routage est l’un des composants clés du framework Laravel, c’est simplement un mécanisme qui effectue le mappage de vos requêtes vers une action de contrôleur spécifique. Toutes les routes Laravel sont définies dans le fichier situé sous forme de fichier /routes/web.php , qui est automatiquement chargé par le framework, Routing Pour créer une route, il faut ainsi appeler la classe Route avec la méthode HTTP souhaitée (get par exemple). Indiquez à cette méthode l’URI concernée et le retour à afficher pour le visiteur comme dans l’exemple ci-dessous : Route::get('accueil', function () { return ‘Bienvenue sur le site !’; }); Copier ce code source dans le fichier routes/web.php Tester votre route dans le navigateur : http://127.0.0.1:8000/accueil Routing Route qui affiche un texte : Route::get(‘page1', function() { return 'Je suis la page 1 !'; }); Route::get(‘page2', function() { return 'Je suis la page 2 !'; }); Route::get(‘page3', function() { return 'Je suis la page 3 !'; }); Copier ce code source dans le fichier routes/web.php Tester votre route dans le navigateur : http://127.0.0.1:8000/page1 =>Vous remarquez que le rendu est du texte! Routing Route qui rend une vue : Route::get(‘/home', function () { return view('welcome'); }); Copier ce code source dans le fichier routes/web.php Tester votre route dans le navigateur : http://127.0.0.1:8000/home =>Vous remarquez que le rendu est une vue! Cette vue est cituée dans le dossier : resource/views/welcome.blade.php Routing Différentes méthodes utilisées avec Route : get : Ceci est principalement utilisé pour récupérer les données du serveur, sans modifier les données et les renvoyer à l’utilisateur. post : Cela peut être utilisé uniquement pour envoyer des données, pour un traitement ultérieur (cela pourrait être la validation des données, comme dans le processus de connexion, inscription…). Il est considéré comme plus sûr que GET pour l’envoi de données sensibles. put : fonctionne comme le POST dans le sens où il vous permet d’envoyer des données au serveur, généralement pour mettre à jour une ressource existante au lieu de la créer. delete : fonctionne comme le POST dans le sens où il vous permet d’envoyer des données au serveur, généralement pour supprimer une ressource existante . Routing Route nommée : Laravel fournit un moyen simple de nommage de vos routes par lequel nous n’avons pas à coder en dur l’URI dans nos vues Blade. Route::get('/home', 'HomeController@index')->name('home’); Générer une URL à l’aide d’une route nommée Lien : <a href="{{ route('home') }}"> Redirection dans un contrôleur : Redirect::route('home'); Routing Le passage des paramètres dans les routes : On peut utiliser un paramètre pour une route qui accepte des éléments variables en utilisant des accolades. Exemple : Route::get(‘page/{n}', function($n) { return 'Je suis la page ' . $n . ' !'; }); Il existe deux type de parametres qu’on peut passer dans la route : Parametres obligatoires et parametres facultatifs Routing Le passage de paramètre obligatoire : Par exemple, si vous souhaitez capturer l’ID utilisateur dans l’URL lorsque vous souhaitez obtenir les détails de l’utilisateur, vous pouvez vous référer aux pratiques suivantes : Route::get('user/{id}', function ($id) { return 'User '.$id; }); Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) { //traitement }); Routing Le passage uploads/Ingenierie_Lourd/ framework-laravel-p1.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/so5JnVNWydQprO6dIQ1PVYHPLHzhs1FecEHk095PFdKemzFKupIY4tMsl7s3oBrA01hmgH3S5ERf89N9qLwF9WjL.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jHQz56Fzla7PUv2veabS5M6Jge2IVlAyab6sZEt3QuwacA5VSe3EdWLf2OYJ07TCv2zCsk65s2SxRcdXVyXMjnxP.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/EHi3D9H6ci3LnlxFuz1jBAO7UTaTjKHhNUj2yhlQQuVYYC9sOCrplLTaOWRNmsQ34BUi5M6m2t1g4f5xlSFlA2A8.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/IYa55h4ppxTZ0zx2JeYmylppAgptj2a6HQIYiAcAyxEdyCyxtM2onhw28hlJdW6wxe0yMMjcbwB4oyP6SaHN0mJO.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/AzKBbclEQl5ehkUsCU6gvzCVTF85sG1NnvtQLmCdCl9tL9ylajy0vvxhbrhXvN518CI9xRCZWH5GSB5J91ASeUdd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/mjDqKpjrjg7nWStSc8sCK7OWIYbjfvjkSHfBBnimNYQQQWncaYXa0o2hS9mUa8yZ80cXfd1tB06aBA05qac0dpP9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/QFcFDmiOKQtOF69G5Ufk2SKWcOuRo4MFVthI5tpeTq3bKUMkx9Zik4ALhJvjnYdlukM6f2GIUYOBsGUvVlhuzUvj.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/UYS4GVywfOk2bIH4GQcWuXTkjm3Xx93MsMYdxrN1Y8pwuC5g0Dw59HkY8ybXb9oQK3wIjNZY7ItWXsd3w1wc72jc.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/yfKYov2PH4CO3Ug21ZuTIO4gRgk6z8GK3i8h8G5DAKGkSBGwm1XhxQk0x3dabFXbzinUK5gjbFSTMyNjCVkfeWFT.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/XmUzz2ClQ4hdXnknL5TRZdzKoS6AgwuZ6ZQNIRybsjyyatFTCNn5LHMujY4WANUrWueM4lkgRlI8C5tLvVLoTMlX.png)
-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 29, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.5090MB