Exercice : Controller et formulaires
Le but de cet exercice est assez simple, vous allez faire en sorte en MVC, d'afficher puis traiter un formulaire de connexion.
Étape 0 :
Créez un dossier
formulairedans le dossiercoda-bph-j8
Étape 1 : architecture des dossiers
Créez l'architecture de dossiers et fichiers suivante :
Étape 2 : autoload.php
Dans votre fichier config/autoload.php faites des require des fichiers :
controllers/AbstractController.phpcontrollers/AuthController.phpservices/Router.php
Étape 3 : les controllers
Étape 3.1 : AbstractController
Reprenez l'exemple du cours pour créer votre classe abstraite AbstractController.
Étape 3.2 : AuthController
Votre classe AuthController hérite d' AbstractController et a deux méthodes :
public function login() : void
Si aucun formulaire n'est soumis elle appelle sa méthode render pour afficher le template login.
Si le formulaire est soumis et que l'email est bien présent, elle le stocke dans une variable $email et fait un var_dump($email).
public function notFound() : voidqui render le templatenotFound
Étape 4 : les templates
4.1 layout.phtml
Le contenu de templates/layout.phtml:
4.2 login.phtml
Le contenu de templates/login.phtml:
4.3 : notFound.phtml
Étape 5 : le Routeur
Faites votre classe Router avec sa méthode handleRequest.
Il ne gère que la route par défaut ($get['path'] n'existe pas), tout le reste est une page 404.
Étape 6 : index.php
Dans votre index.php, faites un require de config/autoload.php puis instanciez votre Router et appelez sa méthode handleRequest.