• Laravel 8

    Cours Laravel 8 – les données – les ressources (2/2)

    Dans cet article nous allons terminer de coder la ressource que nous avons commencée dans le précédent. Il nous reste à voir comment créer et modifier un film. Créer un film Les routes Pour la création d’un film on va avoir deux routes : pour afficher le formulaire de création pour soumettre le formulaire Le contrôleur Dans le contrôleur ce sont les méthodes create et store qui sont concernées. On va donc les coder : use App\Http\Requests\Film as FilmRequest; ... public function create() { return view('create'); } public function store(FilmRequest $filmRequest) { Film::create($filmRequest->all()); return redirect()->route('films.index')->with('info', 'Le film a bien été créé'); } La vue index On a déjà codé la…

  • Laravel 8

    Cours Laravel 8 – les données – les ressources (1/2)

    Dans ce chapitre nous allons commencer à étudier les ressources qui permettent de créer des routes « CRUD » (Create, Read, Update, Delete) adaptées à la persistance de données. Comme exemple pratique nous allons prendre le cas d’une table de films. Les données On repart d’un Laravel vierge et on crée une base comme on l’a vu précédemment. Appelons la par exemple laravel8 pour faire original. On renseigne le fichier .env en conséquence : DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8 DB_USERNAME=root DB_PASSWORD= La migration On va créer avec Artisan le modèle Film en même temps que la migration : php artisan make:model Film --migration Pour faire simple on va se contenter de 3 colonnes…

  • Laravel 8

    Cours Laravel 8 – les données – jouer avec Eloquent

    On a commencé à voir Eloquent et les modèles dans le premier chapitre de cette partie du cours, mais on s’est limité pour le moment à créer un enregistrement. Dans ce chapitre on va aller plus loin en explorant les possibilités d’Eloquent, couplé à un puissant générateur de requêtes, pour manipuler les données. Pour effectuer les manipulations de ce chapitre vous aurez besoin d’une installation fraîche de Laravel. Les migrations devront également être effectuées pour qu’on puisse utiliser la base de données. Tinker Artisan est plein de possibilités, l’une d’elle est un outil très pratique, un REPL (Read–Eval–Print Loop). C’est un outil qui permet d’entrer des expressions, de les faire…

  • Laravel 8

    Cours Laravel 8 – les données – migrations et modèles

    Dans ce chapitre nous allons commencer à aborder les bases de données. C’est un vaste sujet auquel Laravel apporte des réponses efficaces. Nous allons commencer par voir les migrations et les modèles. Les migrations Une migration permet de créer et de mettre à jour un schéma de base de données. Autrement dit, vous pouvez créer des tables, des colonnes dans ces tables, en supprimer, créer des index… Tout ce qui concerne la maintenance de vos tables peut être pris en charge par cet outil. Vous avez ainsi un suivi de vos modifications. La configuration de la base Vous devez dans un premier temps avoir une base de données. Laravel permet de…

  • Laravel 8

    Cours Laravel 8 – les bases – injection de dépendance, conteneur et façades

    Dans ce chapitre nous allons reprendre l’exemple précédent de l’envoi de photos en nous posant des questions d’organisation du code. Laravel ce n’est pas seulement un framework pratique, c’est aussi un style de programmation. Il vaut mieux évoquer ce style le plus tôt possible dans l’apprentissage pour prendre rapidement les bonnes habitudes. Vous pouvez très bien créer un site complet dans le fichier des routes, vous pouvez aussi vous contenter de contrôleurs pour effectuer tous les traitements nécessaires. Je vous propose une autre approche, plus en accord avec ce que nous offre Laravel. Le problème et sa solution Le problème Je vous ai déjà dit qu’un contrôleur a pour mission…

  • Laravel 8

    Cours Laravel 8 – les bases – formulaires et middlewares

    Dans bien des circonstances, le client envoie des informations au serveur. La situation la plus générale est celle d’un formulaire. Nous allons voir dans ce chapitre comment créer facilement un formulaire avec Laravel, comment réceptionner les entrées et nous améliorerons notre compréhension du routage. Nous verrons aussi l’importante notion de middleware. Scénario et routes Nous allons envisager un petit scénario avec une demande de formulaire de la part du client, sa soumission et son traitement : On va donc avoir besoin de deux routes : une pour la demande du formulaire avec une méthode get, une pour la soumission du formulaire avec une méthode post. On va donc créer ces…

  • Laravel 8

    Cours Laravel 8 – les bases – la validation

    Nous avons vu dans le chapitre précédent un scénario mettant en œuvre un formulaire. Nous n’avons imposé aucune contrainte sur les valeurs transmises. Dans une application réelle, il est toujours nécessaire de vérifier que ces valeurs correspondent à ce qu’on attend. Par exemple un nom doit comporter uniquement des caractères alphabétiques et avoir une longueur maximale ou minimale, une adresse email doit correspondre à un certain format… Il faut donc mettre en place des règles de validation. En général on procède à une première validation côté client pour éviter de faire des allers-retours avec le serveur. Mais quelle que soit la pertinence de cette validation côté client elle n’exonère pas…

  • Laravel 8

    Cours Laravel 8 – les bases – envoyer un email

    Laravel utilise le célèbre composant SwiftMailer pour l’envoi des emails. Mais il en simplifie grandement l’utilisation. Dans ce chapitre nous allons prolonger l’exemple précédent de la prise de contact en ajoutant l’envoi d’un email à l’administrateur du site lorsque quelqu’un utilisateur soumet une demande de contact. On va donc prendre le code tel qu’on l’a laissé lors du précédent chapitre et le compléter en conséquence. On verra plus tard que Laravel propose aussi un système complet de notification qui permet entre autres l’envoi d’emails. Le scénario Le scénario est donc le même que pour le précédent chapitre avec l’ajout d’une action : On va avoir les mêmes routes et vues, c’est…

  • Laravel 8

    Cours Laravel 8 – les bases – configuration, session et gestion de fichiers

    Dans ce chapitre nous verrons la configuration, la gestion des sessions et des fichiers avec un exemple simple d’envoi et d’enregistrement de fichiers images dans un dossier à partir d’un formulaire. La configuration Tout ce qui concerne la configuration de Laravel se trouve dans le dossier config : De nombreuses valeurs de configuration sont définies dans le fichier .env. Les fichiers de configuration contiennent en fait juste un tableau avec des clés et des valeurs. Par exemple pour les vues (view.php) : <?php return [ 'paths' => [ resource_path('views'), ], ... ]; On a la clé paths et la valeur : un tableau avec des valeurs. Pour récupérer une valeur il…