Documentation · Chapitre 02

Suivre une requête
de bout en bout.

Une URL n’ouvre pas directement un contrôleur. Plusieurs étapes transforment la demande du navigateur en réponse HTTP.

POINT DE DÉPART

Le navigateur formule une demande.

phpaml — zsh
GET /products/42 HTTP/1.1
Host: 127.0.0.1:8910
Accept: text/html

GET est la méthode HTTP. /products/42 est le chemin. L’en-tête Accept indique le format souhaité. PHPAML transforme ces informations brutes en objet Request afin que votre code ne lise pas directement les variables globales PHP.

Six étapes, six responsabilités.

  1. 1
    public/index.php

    Reçoit toutes les requêtes Web et démarre l’application.

  2. 2
    Middlewares

    Appliquent sécurité, session ou authentification avant l’action.

  3. 3
    Routeur

    Compare la méthode et le chemin aux routes enregistrées.

  4. 4
    Contrôleur

    Coordonne le cas d’utilisation demandé.

  5. 5
    Modèle et vue

    Obtiennent les données et construisent la représentation.

  6. 6
    Response

    Fixe le statut, les en-têtes et le corps renvoyé.

Que se passe-t-il si rien ne correspond ?

404Route inconnue

Aucun chemin enregistré ne correspond.

405Méthode refusée

Le chemin existe, mais pas pour cette méthode HTTP.

500Erreur applicative

La route existe, mais le traitement a échoué.

VÉRIFIEZ VOTRE COMPRÉHENSION

Une route GET /users existe. Que doit répondre une requête POST /users si aucune route POST n’est déclarée ?

Afficher la réponse

405 Method Not Allowed

EN RÉSUMÉ

Ce qu’il faut retenir

  • public/index.php amorce l’application.
  • Les middlewares entourent le traitement.
  • Le routeur utilise la méthode et le chemin.
  • Response contient toujours le résultat HTTP final.