Documentation · Chapitre 02

Lire puis étendre
un projet réel.

L’exercice final vérifie que vous savez suivre l’architecture avant d’écrire une nouvelle fonctionnalité.

ATELIER FINAL

Ajoutez une page À propos à une application classique.

  1. Créez un projet nommé architecture-lab.
  2. Examinez phpaml.json, public/, routes/, src/ et runtime/.
  3. Créez un contrôleur AboutController.
  4. Ajoutez GET /about dans routes/WebApp.php.
  5. Retournez une réponse HTML simple, puis vérifiez-la dans le navigateur.

CORRECTION GUIDÉE

Construisez dans l’ordre de la requête.

phpaml — zsh
aml create architecture-lab
cd architecture-lab
aml make:controller About
aml serve

La commande crée le fichier du contrôleur sous src/controllers. Ajoutez ensuite la route dans routes/WebApp.php et reliez-la à AboutController::index. Cette route doit être chargée avant que le navigateur puisse atteindre l’action.

phpaml — zsh
public function index(): Response
{
    return Response::html('<main><h1>About</h1><p>My first PHPAML page.</p></main>');
}

Ouvrez /about. Une réponse 200 prouve que le point d’entrée, le routeur, le contrôleur et la réponse fonctionnent ensemble. Une 404 indique généralement que la route n’est pas enregistrée; une 500 indique que le traitement a démarré puis échoué.

Questions de compréhension

VÉRIFIEZ VOTRE COMPRÉHENSION

Pourquoi le contrôleur est-il placé dans src/ plutôt que public/ ?

Afficher la réponse

Parce que le contrôleur est du code interne. Seul public/index.php doit être directement exposé au Web.

VÉRIFIEZ VOTRE COMPRÉHENSION

Pourquoi une route est-elle nécessaire ?

Afficher la réponse

Elle associe une méthode et un chemin HTTP à l’action qui doit les traiter.

EN RÉSUMÉ

Ce qu’il faut retenir

  • Vous savez suivre une requête complète.
  • Vous savez distinguer code public, applicatif et reconstructible.
  • Vous savez répartir modèle, vue et contrôleur.
  • Vous pouvez maintenant aborder la migration d’un ancien projet.