Request::formBody() decode un POST urlencode (le login back-office est un formulaire, pas du JSON) ; Request::clientIp() resout l'IP client reelle derriere Traefik (dernier hop X-Forwarded-For valide, repli REMOTE_ADDR). Database::transaction() enveloppe un jeu d'ecritures dans un begin/commit atomique avec rollback sur exception (RG-T08) ; DatabaseInterface extrait le seam d'acces aux donnees pour rendre les services testables avec un double. Response gagne des accesseurs en lecture (body/header/headers) pour les tests de controleur. Tout est additif et retro-compatible. |
||
|---|---|---|
| .. | ||
| Unit | ||
| bootstrap.php | ||