• Aucun résultat trouvé

LARAVEL (8-2021) – FRAMEWORK PHP 1

N/A
N/A
Protected

Academic year: 2022

Partager "LARAVEL (8-2021) – FRAMEWORK PHP 1"

Copied!
35
0
0

Texte intégral

(1)

Laravel – P1 – page 1/35

LARAVEL (8-2021) – FRAMEWORK PHP 1

SOMMAIRE

Sommaire ... 1

Etape 1 ... 3

1 - Laravel (v1) ... 3

Principes du cours... 3

framework PHP pour les artisans du web ... 3

Concepts de base : ... 3

Prérequis : ... 3

2 - Installer Laravel (v3, v4) ... 4

Mise en garde : attention ... 4

Composer : ... 4

Packagist ... 4

Créer une application laravel :... 5

Principes ... 5

Un dossier pour toutes nos applications ... 5

1 : avec composer create-project ... 6

2 : avec laravel/installer ... 7

3 : avec Laragon ... 8

Démarrer une application Laravel ... 9

Résultats du server ... 9

Résultats Laravel 8 : ... 9

Résultats Laravel 7 : ... 9

Rappel du fonctionnement client - serveur web ...10

Architecture d’un projet Laravel : ... 11

Quelques fichiers à regarder ...11

Quelques répertoires ...12

Quelques répertoires dans le répertoire app : ...14

Manipulation d’un projet laravel... 16

Taille du dossier ...16

Suppression du dossier vendor et composer update ...16

Modification de l’affichage ...17

Bilan des commandes ... 18

Synthèse ...18

Composer ...19

laravel installer ...20

php ...21

php artisan ...21

3 – TP : Exemple traité : todo-list (v2) ...22

Objectifs à atteindre ... 22

Installation de l’application todo-list ... 23

Pistes de solutions : ... 24

Principe general ...24

laravel/dusk ...24

mise à jour du framework dans composer.json ...24

composer update ...24

500 : Server Error ...24

Utilisation de l’application ... 25

Méthode ...25

(2)

Laravel – P1 – page 2/35

Menu Register : création d’un utilisateur ...25

Création de tâches par John Doe ...28

Création de nouveaux utilisateurs ...28

Affectation d’une tâche de John Doe à Fred ...29

Bilan des commandes ... 35

Commandes : ...35

Fichier manipulés : ...35

Documentation : ...35

Erreur au retour ! ...35

(3)

Laravel – P1 – page 3/35

ETAPE 1

1 - Laravel (v1)

Principes du cours

Les parties surlignées de bleu correspondent à des installation ou exercices à faire.

framework PHP pour les artisans du web

• https://laravel.com/

• Exemple et avantages : https://www.netfillip.com/technologies/laravel-development-company/

• Laravel 8 actuellement.

Concepts de base :

• Installation

• Routage

• MVC

• ORM Eloquent

• Moteur de templates Blade

• etc.

Prérequis :

• PHP

• P.O.O.

• HTML

• CSS

(4)

Laravel – P1 – page 4/35

2 - Installer Laravel (v3, v4)

Mise en garde : attention

• L’installation peut s’avérer compliquée (ou se passer sans problème) ! Il ne faut pas se décourager.

• Quand on passe des commandes en ligne de commandes, il faut lire les messages qui s’affiche (au moins la fin) : on y trouve parfois des pistes de solutions.

• Il faut chercher sur Google des solutions.

• Accrochez-vous. On finit par y arriver !

Composer :

• https://getcomposer.org/

• « composer » est un équivalent du « npm » pour node.js : un gestionnaire de dépendances entre applications et librairies. Il permet d’installer des applications avec toutes leurs dépendances.

• « composer » permet de gérer pour chaque projet, la liste des modules et bibliothèques nécessaires à son fonctionnement ainsi que leurs versions.

• Pour utiliser « composer », tout se passe dans le fichier composer.json à la racine de votre projet. Ce fichier va définir toutes les informations concernant votre projet ainsi que toutes ses dépendances.

• Tester la présence de composer sur votre machine :

composer --version

• Si composer n’est pas présent, installer le sur votre machine.

Packagist

• https://packagist.org/ = PHP Package Repository = dépôt de paquets PHP

• Ce site permet de chercher tous les packages disponibles mais aussi d’enregistrer vos propres packages.

(5)

Laravel – P1 – page 5/35

Créer une application laravel :

Principes

https://laravel.com/docs/8.x/configuration

• 3 techniques :

− avec composer create-project

− avec laravel/installer

− avec Laragon (que sous Windows)

• Pour tout installer, on utilisera les 2 premières techniques.

Un dossier pour toutes nos applications

• Dans votre dossier de cours Laravel, créez un dossier Applications

− Ouvre un terminal dans un dossier Lavarel/Applications

(6)

Laravel – P1 – page 6/35 1 : avec composer create-project

• Documentation Laravel :

− https://laravel.com/docs/8.x/installation#installation-via-composer

Résumé :

>composer create-project laravel/laravel monApp

>cd monApp

>php artisan serve

Installer :

>composer create-project laravel/laravel monApp

• Vieille version :

>composer create-project –prefer-dist laravel/laravel monApp

Démarrer le serveur

>cd monApp

>php artisan serve

• La commande php artisan serve démarre le serveur de développement et précise l’adresse pour accéder à l’application dans un message :

Starting Laravel development server: http://127.0.0.1:8000

(7)

Laravel – P1 – page 7/35 2 : avec laravel/installer

• Documentation Laravel :

− https://laravel.com/docs/8.x/installation#the-laravel-installer

Résumé :

>composer global req laravel/installer

># mise à jour du path

>laravel new monApp

>cd monApp

>php artisan serve

Installer :

• On commencer par installer le laravel/installer comme dépendance globale de Composer.

>composer global req laravel/installer

• On crée une application avec laravel :

>laravel new monApp

• Problème : laravel n’est pas reconnu !!!

Il faut mettre à jour le $PATH (variable d’environnement)

• Sur MAC :

>echo $PATH

>export PATH=$PATH:$HOME/.composer/vendor/bin

>echo $PATH

− La modification ne sera valable que sur le terminal où l’on fait l’export.

− On peut alors exécuter laravel dans ce terminal

− On peut aussi ne pas changer le path et passer la commande :

>$HOME/.composer/vendor/bin/laravel new monApp

• Sur PC :

− On ajoute une nouvelle variable d’environnement :

%USERPROFILE%\AppData\Roaming\Composer\vendor\bin

− Pour accéder aux variables d’environnement : cherchez variables, allez dans modifier les variables d’environnement, cliquez sur variables d’environnement, double-cliquez sur le path des variables utilisateur, ajoutez la variable.

− On peut alors exécuter laravel dans un terminal

• Sur Linux :

− Cf doc laravel et google !

Démarrer le serveur

>cd monApp

>php artisan serve

• La commande php artisan serve démarre le serveur de développement et précise l’adresse pour accéder à l’application dans un message :

Starting Laravel development server: http://127.0.0.1:8000

(8)

Laravel – P1 – page 8/35 3 : avec Laragon

• Laragon est un très bon outil mais disponible uniquement sur Windows !

• http://laragon.org

(9)

Laravel – P1 – page 9/35

Démarrer une application Laravel

Résultats du server

• Une fois le serveur démarré :

>cd monApp

>php artisan serve

• On obtient un message :

Starting Laravel development server: http://127.0.0.1:8000

• Dans un navigateur, on passe l’adresse renvoyée par php artisan serve :

− http://127.0.0.1:8000 ou encore :

− http://localhost:8000 Résultats Laravel 8 :

Résultats Laravel 7 :

(10)

Laravel – P1 – page 10/35 Rappel du fonctionnement client - serveur web

(11)

Laravel – P1 – page 11/35

Architecture d’un projet Laravel :

• Explications sur l’architecture du projet

 ici : doc ici

 et là : https://laravel.com/docs/8.x/structure Quelques fichiers à regarder

.env

• Il contient entre autres des infos sur la BD :

− le type de BD : mysql,

− l’utilisateur, son mot de passe : à adapter à votre système (root sans mot de passe sur PC, root mot de passe root sur Mac)

− le nom de la BD (pour la BD, la collation utf8mb4_general_ci permet d’intégrer les smiley) : il faut créer une BD correspondant à ce nom pour développer l’application.

composer.json

• La clé « require » précise les dépendances de notre application laravel.

(12)

Laravel – P1 – page 12/35 Quelques répertoires

app

− Contient tout le code généré pour l’application.

− Il contient de nombreux autres répertoires qui sont détaillés après.

bootstrap

config

− Contient l’ensemble des fichiers de configurations de l’application.

public

− Point d’entrée unique de l’application par l’intermédiaire du fichier « index.php ».

− Seul répertoire visible de l’extérieur. Tous les autres sont cachés et protégés des attaques de l’extérieur.

− Contient également vos différents assets tels que les images, les fichiers CSS et JavaScripts compilés.

(13)

Laravel – P1 – page 13/35

resources

− Contient, dans le dossier « views », l’ensemble des fichiers de vues gérés par défaut le moteur de template de Laravel : Blade.

− Contient également d’autres ressources tels que les fichiers non compilés LESS, SASS ou JavaScript.

− Contient les fichiers de langues dans le cas d’une application multilingue.

− Il contient le fichier « ressources / views

routes

− Contient des fichiers listant l’ensemble des routes utilisées par votre application.

storage

− Contient des fichiers compilés automatiquement par le système.

tests

− Contient les tests. Laravel utilse PHPUnit.

Vendor

− Contient les dépendances Composer associées à l’application.

(14)

Laravel – P1 – page 14/35 Quelques répertoires dans le répertoire app :

− L’essentiel de l’application se trouve dans le répertoire app.

Console (make:command)

− Contient des commandes « artisan »

Events (make:event)

− Contient des classes « evenement » de pattern « observer »

Exceptions

− Contient le gestionnaire de vos exceptions (Handler.php).

− Permet la centralisation des exceptions levées par l’application.

Http

− Contient les controllers, les middlewares et les requêtes de formulaires.

− Quasiment toute la logique pour traiter les requêtes entrant dans l’application sera placée dans ce répertoire.

Jobs (make:job)

− Contient les tâches qu’on peut mettre en fil d’attente.

(15)

Laravel – P1 – page 15/35

Listeners (make:event)

− Contient les classes qui répondent aux événements.

Mail (make:mail)

− Contient les classes qui gèrent les mails envoyés par l’application.

Notifications (make:notification)

− Contient les mécanismes de gestion des notifications.

Policies (make:policy)

− Contient les classes de politiques d'autorisation pour l’application.

Providers

− Contient tous les fournisseurs de services pour votre application.

Rules (make:rule)

− Contient les règle de validation personnalisés.

(16)

Laravel – P1 – page 16/35

Manipulation d’un projet laravel

Taille du dossier

• Dossier monApp : 35 MO

• Dossier vendor : 34,6 MO

Suppression du dossier vendor et composer update

• On peut supprimer le dossier vendor : notre application ne pèse plus que 0,43 MO !

 « php artisan serve » ne marche plus

• On peut refabriquer le fichier vendor :

>composer update

>php artisan serve

Starting Laravel development server: http://127.0.0.1:8000

(17)

Laravel – P1 – page 17/35 Modification de l’affichage

• Le fichier de description de la page d’accueil est dans le dossier « ressources / views »

 Fichier « ressources / views / welcome.blade.php »

• Pour le trouver, on peut chercher « bigcartel » qui est le lien de Shop

 On le trouve dans « ressources / views / welcome.blade.php »

 On le trouve aussi dans le dossier « storage » qui contient des fichiers compilés, donc fabriqués automatiquement par le système.

• Modifiez le fichier welcome.blade.php pour obtenir le résultat suivant :

 On a rajouté « cours IFAA de Laravel ». Le lien amène sur la page du site avec le cours laravel de l’IFAA.

(18)

Laravel – P1 – page 18/35

Bilan des commandes Synthèse

>composer create-project laravel/laravel monApp

>composer global req laravel/install

>laravel new monApp

>$HOME/.composer/vendor/bin/laravel new monApp

>php artisan serve

(19)

Laravel – P1 – page 19/35 Composer

Principes

• https://getcomposer.org/

• Composer est un outil de gestion des dépendances en PHP. Il vous permet de déclarer les bibliothèques dont dépend votre projet et il les gérera (installera / mettra à jour) pour vous.

• Si vous avez un projet qui dépend de bibliothèques et que certaines de ces bibliothèques dépendent d'autres bibliothèques, Composer vous permet de mettre à jour toutes vos dépendances en une seule commande, en déclarant seulement les bibliothèques dont vous dépendez. Composer installe les versions des packages qui doivent être installés en les téléchargeant dans votre projet.

• Le fichier de configuration s’appelle composer.json.

• La clé require précise les bibliothèques dont on a besoin.

• Composer est un équivalent du « npm » pour node.js

Aide en ligne de commande

>composer -V

>composer -h

>composer list

• Usage basique : https://getcomposer.org/doc/01-basic-usage.md

• Liste des commandes : https://getcomposer.org/doc/03-cli.md

• Composer create-project : https://getcomposer.org/doc/03-cli.md#create-project

(20)

Laravel – P1 – page 20/35 laravel installer

Aide en ligne de commande

>$HOME/.composer/vendor/bin/laravel -V

>$HOME/.composer/vendor/bin/laravel -h

>$HOME/.composer/vendor/bin/laravel list

• Il n’y a qu’une commande : la commande « new »

>$HOME/.composer/vendor/bin/laravel new monApp

• On s’en passe très bien avec le composer create-project.

(21)

Laravel – P1 – page 21/35 php

Aide en ligne de commande

>php –-version

>php -v

>php -h

php artisan

• Artisan est l'interface de ligne de commande incluse avec Laravel.

• La commande « php artisan » s’utilise dans un projet laravel.

Aide en ligne

>cd monApp

>php artisan --version

>php artisan list

Documentation complète

• https://laravel.com/docs/8.x/artisan

• Exemples :

php artisan migrate

Premier usage : démarrer le serveur

>php artisan serve

• La commande Laravel « php artisan serve » permet d'exécuter des applications sur le serveur de développement PHP.

• Elle propose un port disponible pour démarrer un client.

• https://laravel.com/docs/8.x/installation#installation-via-composer

(22)

Laravel – P1 – page 22/35

3 – TP : Exemple traité : todo-list (v2)

Objectifs à atteindre

• Le TP consiste à produire une application ressemblant à :

• On va partir d’un framework qu’il faut installer, ce qui pose quelques difficultés.

• Ensuite on pourra utiliser l’application et y mettre des utilisateurs et des todos.

• On commence par regarder le résultat final :

 Le dossier est uniquement sur la machine prof !

 Votre objectif pendant le TP sera de fabriquer l’équivalent ce dossier à partir du framework téléchargé.

cd 4-laravel-todo-composer-depart php artisan serve

(23)

Laravel – P1 – page 23/35

Installation de l’application todo-list

• Chargez l’exemple de la todo-list : <ici>

• Regardez le fichier composer.json:

 Le fichier composer.json : verifier que votre php est à jour : php -v

 S’il n’est pas à jour, mettez-me à jour.

• Charger les dépendances :

>Composer update

 En cas de problème, voyez le paragraphe vert suivant : piste de solutions.

• Si les dépendances ont bien été chargées :

 Le dossier « vendor » a été créé.

 Démarrer le serveur :

>php artisan serv.

 En cas de problème, voyez le paragraphe vert suivant : piste de solutions.

• Si le serveur est bien démarré :

 Démarrer l’application dans un navigateur :

http://localhost:8000/ (probablement).

 En cas de problème, voyez le paragraphe vert suivant : pistes de solutions.

• On aboutit à la page d’accueil suivante :

(24)

Laravel – P1 – page 24/35

Pistes de solutions :

Principe general

• Regardez les messages d’erreur en ligne de commandes.

• Faites ce qui est demandé.

• Cherchez sur google des pistes de solution.

laravel/dusk

• Installer laravel/dusk

>composer require --dev laravel/dusk

>composer require --dev laravel/dusk:"^4.0"

• https://laravel.com/docs/8.x/dusk#introduction

• https://github.com/laravel/dusk/issues/631

mise à jour du framework dans composer.json

• Dans le fichier composer.json, on peut adapter la version du framework laravel :

• "laravel/framework": "^7.0",

• "laravel/framework": "^6.2",

composer update

• En cas d’erreur, il faudra peut-être mettre à jour le php.

• Sur MAC :

brew install php@7.3 brew link php@7.3

• Sur PC : verifier sa version avec WAMP

• https://stackoverflow.com/questions/46058457/cant-install-laravel-installer-via-composer

500 : Server Error

• L’application cliente ne marche pas.

• Quelques pistes :

>php artisan key:generate

>php artisan cache:clear

>php artisan config:clear

− cache:clear et config :clear permettent de vider les caches.

(25)

Laravel – P1 – page 25/35

Utilisation de l’application

Méthode

• Suivre tout le chapitre pas à pas et faire ce qui est demandé.

Menu Register : création d’un utilisateur

Création de l’utilisateur John Doe (référence : ici)

− Le mot de passe doit avoir au moins 8 caractères. Exemple (facile à retenir) : laravelmdp

Problème de BD : Connection Refused

• Application http://127.0.0.1:8000/, menu Register : route : http://127.0.0.1:8000/register

• On saisit le formulaire : connection refused.

• Solution : Le serveur de BD ne tourne pas ! Il faut le démarrer avec Wamp ou Mamp.

(26)

Laravel – P1 – page 26/35

Problème de BD :

• Application http://127.0.0.1:8000/, menu Register : route : http://127.0.0.1:8000/register

• On saisit le formulaire :

 erreur dans le fichier vendor/laravel/framework/src/Illuminate/Database/Connection.php

• Solution : La BD n’existe pas : dans le fichier « .env », il faut choisir un nom pour la BD, vérifier que le username de la BD est bon ainsi que son passaword (root, vide sur PC, root, root sur MAC). Il faut ensuite créer un client mysql : create database laraveltodo ;

• Fichier .env sur MAC :

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306

DB_DATABASE=laraveltodo DB_USERNAME=root

DB_PASSWORD=root

• Création de la BD dans un client mysql :

mysql>create database laraveltodo;

− From MySQL 8.0, utf8mb4 is the default character set.

 On peut aussi écrire : create database laraveltodo CHARACTER SET = utf8mb4 COLLATE = utf8mb4_ general_ci;

• Quand on met à jour le fichier .env, mieux vaut relancer le serveur puis l’application.

>php artisan serve

(27)

Laravel – P1 – page 27/35

Problème de BD : les tables n’existent pas.

• Application http://127.0.0.1:8000/, menu Register : route : http://127.0.0.1:8000/register

• On saisit le formulaire : la table users n’existe pas.

• On a un message qui propose de faire un « php artisan migrate » ou de passer par un bouton qui va le faire pour nous.

• Une fois le migrate fait, toutes les tables de la BD sont créées. On peut les regarder en faisant un « show tables » en console mysql.

Problème fonctionnel : le mot de passe doit avoir au moins 8 caractères

• Application http://127.0.0.1:8000/, menu Register : route : http://127.0.0.1:8000/register

• On saisit le formulaire : ça fonctionne. On crée un utilisateur John Doe et un utilisateur Fred.

• On peut mettre les adresse mail qu’on veut. Si on met une adresse mail fonctionnelle, on recevra des mails de l’application (c’est vite lassant !).

• Le mot de passe doit avoir au moins 8 caractères : exemple : laravelmdp

• On peut regarder l’utilisateur saisi dans la BD en console MySQL :

mysql>desc laraveltodo.users ;

mysql>select id, name, email, password from laraveltodo.users;

(28)

Laravel – P1 – page 28/35 Création de tâches par John Doe

• On crée 5 tâches pour John Doe. On les appelles td jd 1, 2… 5.

• Des notifications apparaissent.

• On peut éditer les todos et les modifier.

• On peut cliquer sur done : la todo est faite.

• On peut supprimer une todo. On supprime la 5 et on la recrée. On voit que son « # » à changer : c’est un #6. Le # correspond à l’id de la todo dans la BD.

• On peut jouer avec les 3 boutons principaux : voir les todos…

• On vérifie la présence des todos dans la BD :

mysql>use laraveltodo ; mysql>show tables ;

mysql>desc laraveltodo.todos ;

mysql>select id, name, done, creator_id from todos;

Création de nouveaux utilisateurs

• On crée 2 nouveaux utilisateur : Fred et Toto ( @gmail, mdp idem).

• On vérifie leur présence dans la BD :

mysql>select id, name, email, password from laraveltodo.users;

• On crée 2 tâches pour Fred : td f1 et td f2.

(29)

Laravel – P1 – page 29/35 Affectation d’une tâche de John Doe à Fred

• On se connecte chez John Doe.

• On affecte la tâche 1 à Fred.

• ERREUR !!!

 Il faut paramétrer les fichier « .env » et « config / mail.php »

Fichier config / mail.php

'from' => [

'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 'name' => env('MAIL_FROM_NAME', 'Example'),

],

devient :

'from' => [

'address' => env('MAIL_FROM_ADDRESS', 'laravelbl@gmail.com'), 'name' => env('MAIL_FROM_NAME', 'laravelbl'),

],

.env

MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null

MAIL_FROM_NAME="${APP_NAME}"

devient :

MAIL_MAILER=smtp

MAIL_HOST=smtp.gmail.com MAIL_PORT=587

MAIL_USERNAME=laravelbl@gmail.com MAIL_PASSWORD="votre password"

MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=null

MAIL_FROM_NAME="${APP_NAME}"

(30)

Laravel – P1 – page 30/35

Prise en compte par le serveur

• On arrête le serveur

• php artisan config:cache : ça permet de vider le cache de config et de s’assurer qu’on prend bien en compte les nouveaux fichiers de config.

• php artisan serv

php artisan config:cache php artisan serv

On relance l’application

• On relance l’application http://127.0.0.1:8000/

• On se connecte chez John Doe.

• On affecte la tâche 1 à Fred.

• Soit ça marche …

• Soit :

(31)

Laravel – P1 – page 31/35

Solution à ce problème : accrochez-vous !

• On a un problème d’authentification qui vient en réalité de google.

• On a créé un compte gmail qu’on à utilisé pour les paramètres MAIL du .env. J’ai appelé le mien « laravelbl@gmail.com »

• Ce compte doit être sécurisé pour fonctionner :

https://www.semicolonworld.com/question/50449/expected-response-code-250-but-got-code-ldquo- 535-rdquo-with-message-535-5-7-8-username-and-password-not-accepted

• Enable the 2-step verification to google HERE

• Create App Password to be use by your system HERE

• Cette deuxième étape produit un mot de passe spécial de 16 caractères qu’on va mettre dans le MAIL_PASSWORD du fichier .env :

MAIL_PASSWORD="abcdefghijklmnop"

(32)

Laravel – P1 – page 32/35

On relance l’application

• On redémarre le serveur en vidant le cache

php artisan config:cache php artisan serv

• On relance l’application http://127.0.0.1:8000/

• On se connecte chez John Doe.

• On affecte la tâche 1 à Fred.

• Ca marche …

• On ouvre une application dans un autre navigateur et on connecte Fred.

 On voit que Fred a une notification : John Doe lui a affecté une tâche.

• On affecte la tâche 1 de Fred à John Doe.

• On va dans l’application de John Doe. On clique sur « voir toutes les todos » ou « voir toutes les todos ouvertes » : la notification apparaît du fait de la mise à jour de la page. On peut la regarder : Fred a affecté une tâche à John.

(33)

Laravel – P1 – page 33/35

Signification des boutons

• Toutes les todos ouvertes = les todos qui me sont affectées et qui ne sont pas finies.

• Toutes les todos = toutes les todos que j’ai créées et celles qui m’ont été affectées.

• Toutes les todos terminées = toutes les todos que j’ai finies.

• Toutes les todos créées par moi = toutes les todos que j’ai créées.

Remarques fonctionnelles

• 3 boutons qui alternent pour gérer 4 cas : c’est très compliqué !

• On ne devrait pas pouvoir effacer ou éditer une todo qu’on nous a affecté.

• Quand un todo est faite, on ne devrait plus pouvoir l’affecter ni la changer.

(34)

Laravel – P1 – page 34/35

Les routes

• Toutes les todos : http://127.0.0.1:8000/todos

• Les todos à faire : http://127.0.0.1:8000/todos/undone

• Les todos terminées : http://127.0.0.1:8000/todos/done

• Les todos créées par l’utilisateur : http://127.0.0.1:8000/todos/createdbyme

• Ajouter une todo : http://127.0.0.1:8000/todos/create

• Edition d’une todo : http://127.0.0.1:8000/todos/2/edit : avec le n° de la todo

• Affectation d’une todo : http://127.0.0.1:8000/todos/4/affectedto/2 : affecter la todo n°4 à l’utilisateur 2. Ne marche que si l’utilisateur est connecté.

(35)

Laravel – P1 – page 35/35

Bilan des commandes

Commandes :

>composer update

>php artisan config:clear

>php artisan serve

mysql>create database laraveltodo;

>php artisan migrate

Fichier manipulés :

• .env

• Config/mail.php Documentation :

Migration

• On s’est servi de l’outil migration pour générer les tables de notre application.

• https://laravel.com/docs/8.x/migrations

Erreur au retour !

• En relançant son application plus tard, on peut avoir l’erreur suivante :

storage/framework/sessions... failed to open stream: No such file or directory

• Solution : vider le dossier bootstrap/cache

• Méthode pour résoudre le problème : googler l’intitulé de l’erreur.

Références

Documents relatifs

• Dans les exemples, quand on fait du DML, vérifier le résultat avec un script MySQL, soit dans phpMyAdmin, soit dans un client MySQL.. • Une page pour l’affichage des

• Pour mettre à jour la BD et créer les tables correspondant à notre installation Laravel, il faut commencer par mettre à jour le fichier App/Providers/AppServicesProvider.php :..

• Dans le fichier routes\web.php, on ajoute une route « todos » pour le contrôleur de ressources. • Nouvelle syntaxe : resource(‘route’, Controller ::class)

• A noter qu’un utilisateur pourra toujours affecter sa todo à un autre, même s’il n’est pas créateur de la todo (d’où la distinction entre l’utilisateur créateur

Pour réaliser cette manipulation nous aurons besoin d'utiliser : le langage PHP, une base de données MySQL, phpMyAdmin (pour travailler dans la base de données) mais aussi un

Cette formation PHH Objet vous permettra de maîtriser d'une manière opérationnelle le langage PHP dans le contexte d'un développement objet.. Il vous permettra aussi d'aborder

Donnez un nom (peu importe lequel) à votre configuration dans le premier champs du formulaire, puis appuyez sur &#34;Fix&#34; pour configurer l'interpréteur PHP :... Paramètrez

Tout au long de ce didacticiel, vous apprendrez à utiliser Laravel 6 - la dernière version de l'un des frameworks PHP les plus populaires - pour créer une application Web CRUD avec