MVC : gestion des actions

contr√īles niveau global
pr√©vention du spam :¬† captcha¬† question¬† …
pr√©vention de la re-soumission :¬†¬† blocage d’ip¬† blocage de soumission trop rapide…

interception des exceptions :   toute exception envoyée par le model doit etre :
Рenvoyée vers admin (mail, log, etc ?)
– donner lieu a message d’erreur user-friendly (traduit, etc.)

actions :
toutes actions :
– d√©finit la page courante (concept de chemin actif) : permet d’afficher le chemin courant + ¬†d√©finir des tags par page/groupes de page en un lieu centralis√©
– d√©finit l’environnement : dev, recette, prod, … Cela permet de modifier le comportement en fonction de l’environnement (notamment ajouter des affichages en dev)

* traitement de formulaire : voir article spécifique

* gestion des messages entre actions
Exemple : soumission de form > traitt sur page > redirection vers page o√Ļ un ***message*** s’affiche
Ce pattern est extrèmement courant. Il peut être industrialisé en définissant :
– template : un objet standard (ex : methode d’objet session) qui remplit un markup html d√©di√© (ex. : <div class=¬†¬Ľerror-msg¬†¬Ľ>). Ce markup est soumis √† un affichage d√©termin√© (ex. avec js : invisible par d√©faut > si remplit, alors afficher en ¬†layer).
– action : une¬†m√©thode¬†d’un objet array/session ¬†est syst√©matiquement appel√©e pour affichage √† l’utilisateur. (l’array $_SESSION ne suffit car il n’est pas mis √† jour dans le script courant !). La classe sfUser de sf1 remplit tr√©s bien ce r√īle. Sa m√©thode setFlash g√®re en plus le vidage automatique de la variable apr√®s un passage d’action √† action.

* affichage de résultats paginés et ordonnés
Le but est de traduire un array associatif en requête sql
// droits utilisateur ?
// ordre par defaut ? page par defaut ? (ou forcer les valeurs via le Get ?)
// recup : page demandee ? (criteres, ordre, page)
// affichage : liste en cours, page courante, ordre courant

Ce contenu a été publié dans architecture, avec comme mot(s)-clé(s) . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *