Flexy, MVC et Controller
By Geoffrey on Sunday 4 September 2005, 13:07 - Coding - Permalink
Comme je le disais dans le billet précédent, j'ai passé la nuit à faire du PEAR. Bon. Très bien. Je m'en vais vous parler de PEAR::HTML_Template_Flexy, et, par extension, dériver sur le modèle MVC, en espérant que quelqu'un de passage saura répondre à l'interrogation que je vais développer ici.
Donc, ça commence dans la doc de Flexy où il est dit la chose suivante:
Flexy template is normally called from within a Controller Class (in the Model,View,Controller paragam).
Qu'on peut traduire par:
Flexy est normalement appelé depuis une classe Controller (dans le pattern Model, View, Controller)
(Oui mon français reste très anglais, désolé)
Ok. Très bien. Sur le coup, je ne me suis pas posé de question, j'ai fait mon petit Controller, avec une méthode statique Factory pour l'instancier. Et puis tout à l'heure, en rentrant chez moi, j'ai réfléchi un peu au modèle MVC, et au peu de connaissances que j'ai sur le sujet. Qu'on me corrige si je me trompe, mais le MVC ne se décompose-t-il pas ainsi:
- le Model, qui décrit ce qu'on pourrait appeler l'architecture de stockage et d'accès aux données (backend SQL/fichiers, etc / DAO / DAGO / etc). Le modèle de données donc.
- le Controller, qui reçois la requête, l'analyse et la traite, autrement dit, qui contient la logique métier de l'application, qui controle finalement le déroulement de l'application.
- la View, qui dessine l'UI, qui offre une vue de ce qui se passe à l'utilisateur.
Voilà, c'est, à peu de choses près, ce dont je me souviens de ce que j'ai pu lire ça et là sur le net, et surtout, c'est cohérent, du moins je trouve. Et donc dans cette optique, Flexy étant un moteur de template, c'est à dire finalement d'affichage, je l'aurai plutôt appelé depuis une View, non ?
Alors franchement, si quelqu'un qui connait un tant soit peut le modèle MVC passe dans le coin, merci d'avance de m'éclairer sur la chose. Sont-ce les devs de Flexy qui se fourvoient ? Ou bien, plus plausible, est-ce moi qui n'ai pas saisi les subtilités du MVC ?
Bien sur, toutes les suggestions sont les bienvenues, qu'elles viennent d'un maître du MVC ou pas, et même de l'ignorant complet (sur le MVC) qui n'apportera qu'une pierre de bon sens agricole (private joke, désolé) au schmilblick.
EDIT: Wikipedia propose un article sur le modèle MVC. Bon, la décomposition est, à peu de chose près, la même que la mienne: ils mettent la logique applicative dans le Modèle. Mais ça ne change pas le fond de l'histoire.
Comments
Bah écoute, j'ai beau réfléchir à la question, je pense qu'il est plus que probable que ce soit toi qui n'a pas compris toutes les subtilités du MVC.
Mais faut pas se vexer pour autant hein >:]
Tu seras sympa de pas saloper le peu de billets à peu près interressants que je poste, merci.
Mais te vexe pas hein.
:D
ah bon, parce qu'il est intéressant ton blog ? m'aurait-on menti ? :]
Je ne dirais qu'une chose: http://fashion.hosmoz.net/blog/2005/03/29/332
en plus tu vois, ton doctclear fait pas des hyperliens dans les commentaires...
sinon, saitoi qui a commencé, assume! dis dis dis, allez, boude pas, t'es pas vexé quand même ? :p
(sinon ta quote à deux balles, elle pu un peu. Sauf si on l'applique à toi, du coup elle devient vachement intéressante)
Comment elles sont minables tes casses. M'étonnes pas venant d'un belche pur et dur.
Je me demande même pourquoi je continues de te parler desfois.
C'est vrai, jme demande encore pourquoi un Normand (fier de l'être, mouahahaha) parigos, avec un léger complexe d'infériorité sociale et qui se sent donc obligé de se rendre intéressant parce qu'il est vexé, s'obstine encore à me parler... Nan vraiment, je me posais la question à l'instant :]
Bon puisqu'apparemment tu n'as rien de très interressant à raconter, au contraire de la personne dont tu parles sur ton blog, et bien je vais aller regarder tranquillement les cités d'or, affalé dans mon lit.
J'ai gagné :]
C'est bête d'en finir ainsi.
Merci de ne pas confondre ce billet avec un forum "oh c'est trop triste fred il est encore parti et en plus c'est la faute a geoffrey"...
Euh, je ne connais pas les raisons, et l'un d'entre vous a forcément raison, seulement je ne sais pas lequel. C'est bête d'en finir ainsi, et je parle pour vous deux.
Il y aurait sûrement un moyen de faire autrement, enfin c'est vous qui voyez.
Les soit disant raisons sont expliquées sur http://zeneration.be/.
Pour ma part j'ai envoyé un mail au principal interressé, j'attends sa réponse.
Au passage, je tiens à signaler que j'ai eu la réponse à la question que je me posais dans ce billet.
Et c'est quoi la réponse alors geoffrey? moi c'est ca qui m'interresse...
La réponse c'est que le moteur de template devrait être appelé par la Vue, pas par le Controlleur. Du moins d'après ce que j'en ai compris.
Je vais voir pour en parler sur pear-doc histoire de comprendre un peu mieux.
tete qu il a ce belge ..
Flexy est un moteur de template, c'est donc lui qui est "view" et non appelé par "view". Ce "view" est gérée par le controller donc c'est bien Flexy qui est appelé depuis le controller qui fait le setup du moteur de template.
hum
pas bete du tout comme explication :p