Aller au contenu | Aller au menu | Aller à la recherche
Jusqu'à présent, je n'ai jamais été convaincu par un framework PHP. Tous ceux que j'ai testé étaient soit trop compliqués à mettre en oeuvre, soit trop gourmands en ressources, soit trop contraignants et la plupart du temps tout ça à la fois.
Paradoxalement, je n'avait jamais vraiment essayé de développer mon propre framework. J'ai préféré mettre en place des méthodes de développement et des choix conceptuels personnels que j'affine au fil des ans.
Dans le même temps, j'entends de plus en plus parler des design patterns et je dois dire c'est bigrement intéressant. J'utilise notamment les patterns singleton et factory dans certains développement. Ces derniers temps, je me suis intéressé au pattern MVC et cela a été comme une révélation pour moi.
Je me suis aperçu qu'à la manière de monsieur Jourdain, je faisais du MVC sans le savoir (Pardon Molière). En effet, en me plongeant dans ce design pattern, je me suis aperçu que les pratiques que j'avais mis en place au fil du temps suite à mes expériences, étaient très proches des principes du MVC.
MVC signifie Model View Controller, ou Modèle Vue Contrôleur en Français. Comme toute les bonnes idées, le principe est finalement assez simple. On divise une application en 3 couches distinctes. La première, le contrôleur, va gérer les demandes de l'utilisateur et contrôler les 2 autres couches. Le modèle va contenir les traitements métier et va être interfacé avec les sources de données (bases de données, fichiers plats, annuaires LDAP, etc.). Enfin, la vue va afficher le résultat des traitement effectués par le modèle.
Le premier avantage de ce découpage c'est que si l'une des couches doit changer, cela se fait sans toucher aux autres couches. Ainsi, si au lieu d'afficher des pages HTML, vous devez finalement renvoyer du XML qui sera utilisé par un Web service, seule la vue devra être modifiée.
Le second est qu'une fois le framework mis en place, les développements sont rapides car seul le code métier doit être développé. Tout le reste est géré par le framework.
Voici quelques lectures pour approfondir le sujet :
vendredi 30 septembre 2005 à 12h41 -
PHP
1. Le mardi 4 octobre 2005 à 17h06, de Le Blog de Guillaume
Je me suis amusé il y a quelques semaines à étudier la plupart des frameworks PHP existants, étude largement soutenue par Damien Seguy qui s'est mis à interroger tous les auteurs pour Direction|PHP et j'ai été stupéfait du nombre de frameworks basés...
2. Le vendredi 29 septembre 2006 à 16h05, de Documentation et Tutoriaux sur le MVC, Spring et Zend Frameworks
Présentation de l'architecture MVC
Le MVC, qu'est-ce que c'est ??!! Pourquoi l'utiliser ? et quelles sont les questions qui se pose avec ce design pattern ?
Les rétroliens pour ce billet sont fermés.
![]()
C'est exactement comme cela que les patterns émergent dans un code que l'on reprend régulièrement !
Le problème c'est souvent que une fois qu'on a découvert un ou plusieurs de ces modèles de conception, on s'y tient et on s'y bloque. Et tout devient "clou" puisqu'on a un nouveau marteau entre les mains ! L'artiste "zen" te dira qu'il faut maintenant oublier ce que tu viens de découvrir (zut je n'arrive pas à trouver le lien vers ce truc-là)
perrick
le vendredi 30 septembre 2005 à 18h44
![]()
Vincent: c'est le role du controleur de faire ca. Le modèle ne fait que décrire les données, les règles de validation, etc. Le but du controleur est de coordonner le tout.
A regarder: un framework interessant www.solarphp.com
Arnaud
le samedi 1 octobre 2005 à 10h21
![]()
C'est marrant Jean Marc mais je me suis posé exactement les même interrogations vendredi lol.
Concernant la vue, tu peux implémenter un design pattern Strategy je pense, ainsi si tu doit gérer différent affichage (Web, téléphone portable, etc, etc) le fait d'utiliser Strategy te simplifiera la tâche je pense. Tu en penses quoi ?
qwix
le samedi 1 octobre 2005 à 22h21
![]()
Ces urls devraient t'intéresser:
- www.phpwact.org/php/mvc_f...
- www.phpwact.org/pattern/m...
qwix
le lundi 3 octobre 2005 à 21h26
![]()
Merci beaucoup qwix.
JMF
le lundi 3 octobre 2005 à 23h21
![]()
C'est quand même assez incroyable la puissance et la profondeur de ce pattern.
J'ai bien l'impression que l'on peut facilement passer des années dessus et découvrir des tonnes de choses encore...
qwix
le mardi 4 octobre 2005 à 15h15
![]()
existe-t'il des ressources en "french in the text" ?
ou mieux encore un framework en français ?
merci
![]()
Elucubrations> Le second lien que je donne à la fin de mon bilelt est en Français comme son titre l'indique.
Quant à trouver un framework en Français, je n'en connais pas et je doute que cela existe car l'intérêt serait assez limité.
JMF
le mercredi 5 octobre 2005 à 10h10
![]()
> Framework en français
Il existe phpjaz.org/
Frédéric
le mercredi 5 octobre 2005 à 11h22
![]()
oui je connaissais déjà cette ressource elle est un peu "raide" sur la fin. Le début explique bien le concept mais après à mon avis ça devient un peu flou.
Pour le framework en français c'est surtout au niveau doc que l'intérêt existe, il y en marre de se taper des docs techniques en anglais où la barrière de la langue nous fait passer à côté de subtilités de sens et donc de compréhension.
![]()
Frédéric> J'ai commencé à regarder Jaz et je suis bluffé par les fonctionnalités de la chose. J'ai hâte de regarder sous le capot comment cela fonctionne.
JMF
le mercredi 5 octobre 2005 à 14h32
![]()
Ou peut-on trouver un lien vers des cours, exos, TP implémentant simplement un site PHP conçu avec MVC
![]()
C'est clair que c'est puissant le MVC comme design pattern. Au niveau framework celui sur lequel j'ai bloqué c'est Code Igniter ( www.codeigniter.com ). Tres simple, léger, une tres bonne documentation, des vidéos tutorial... énorme.
Dready
le jeudi 21 décembre 2006 à 11h44
Les commentaires pour ce billet sont fermés.
© 2003-2008 Jean-Marc Fontaine - Tous droits réservés
XHTML - CSS - DotClear - Technorati
Les billets de ce blog sont sous licence Creative Commons
Vincent le vendredi 30 septembre 2005 à 15h45