Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je suis en train de découvrir ZF pour un projet à mon boulot. J'ai commencé par le Quickstart pour me familiariser avec l'outil, et avec les mappers qui sont utilisés dans ce tutoriel.
Seulement après quelques semaines d'utilisation, je m'aperçois que les mappers sont très peu (pour ne pas dire jamais) présentés dans le doc officielle. Il est donc très difficile d'avancer ! Leur utilisation reste floue pour moi, je pense saisir son utilité ("séparer" les actions du controlleur et des relations de la bdd, qu'on "isole" pour conserver une structure claire et MVC ? Si ce n'est pas ça merci de m'éclairer). Certains sujets de ce forum font une "réflexion" sur cette utilisation, mais les discussions sont d'un niveau technique trop élevé pour moi.
D'après un collègue de travail, qui utilise Zend depuis quelques temps, les mappers n'apportent rien, puisqu'il fait les mêmes actions sans mapper. Il utilise un adapter pour les appel à la bdd, et je retrouve cette façon de coder dans la doc et d'autres tuto et forum. Alors qu'avec les mappers il trouve que le code est alourdit (une couche de plus à maintenir pour pas de résultat au final). Et c'est vrai quil faut réécrire (toujours si on se réfère au quickstart) tous les accesseurs, et certaines méthodes qui se faisaient rapidement avec une méthode standard et rapide (fetchall(), et find() par exemple) sont aussi à réécrire. Alors, à quoi cela sert-il de réécrire des fonctions déjà existantes alors que c'est faisable avec un appel "classique" et d'après lui, plus performant ? A cela s'ajoute un effet plutôt pervers : si les mappers sont très efficaces, il faut vraiment savoir les utiliser correctement (ModelDbTable,...), et pour un débutant qui les utiliserait mal, cela est assez contreproductif !
Bref, je veux bien une explication (accessible siouplait...) sur leur utilisation. Je n'ai probablement rien compris, mais le quickstart ne m'a pas aidé à y voir plus clair. donc je voudrais enfin tout bien saisir, et évioter de chercher sans arrêt une solution ou une aide que je ne suis pas sûr de bien utiliser. Voir ce post qui est symptomatique de cette utilisation, "ça a l'air mieux mais au final on se fait ch...".
Voilou, merci d'avance pour votre aide !
17795
Hors ligne
Salut, je dois avouer que comme toi au début, j'ai décider de laisser les mappers et presque tout le côté model de côté. Avec le temps et la volonté de poussé toujours plus loin, j'ai découvert que les mappers pouvait en fait améliorer ta vitesse de développement et réduire grandement ton code dans tes controlleurs.
Il est vrai que Zend intègre plus ou moins bien cette partie théorique mais je crois qu'ils ont également décider d'arrêter le développement puisqu'ils vont intégrer Doctrine dans le ZF2. Pour ma part, j'utilise Doctrine puisqu'il intègre justement les méthodes standards en plus d'avoir la capacités de généré tes modèles selon le schéma de ta base de donnés.
En bref, pour commencer, tu peux très bien développer une application sans utiliser les mappers mais un jour ou l'autre, tu vas avoir l'intention d'améliorer ton code, mieux structurer ton travailler et accélérer ton développement. Personnellement, quand on maitrise bien le temps, cela produit l'effet contraire, tout ton code sera alléger.
Delprog explique bien l'utilisation avancé de cette théorique ici : http://www.z-f.fr/forum/viewtopic.php?id=4027
Je pourrai te conseiller de prendre le même chemin que j'ai pris au début, commencer en surboostant mes controllers de fonctions et d'insertion à ma bd. Mais garde en tête que lorsque tu maitriseras bien le C et le V, il te restera le M pour pouvoir avouer que tu fais du MVC correctement.
J'espère que cela t'éclaire un peu mieux !
Hors ligne
Meri pour les précisions. Pour le lien, je faisais référence à un de ceux-là quand je disais que leur niveau technique était trop élevé pour moi
Hors ligne
Pas d'autre intervention ?
Hors ligne