MVC+CRUD->ESQUISSE

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 20 mai 2007 à 08:58
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 23 mai 2007 à 19:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42769-mvc-crud-esquisse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mai 2007 à 19:46
Pardon j'ai confondu l'interface d'usinage est une interface en POO...
L'interface en POO c'est un modèle strict auxquels devront se conformer les classes l'implémentant. cela sert à être plus carré, déjà...à rester logique, et cela aide évidemment les développeurs à savoir comment coder telle "fonctionnalité".
Tu veux coder une classe utilisant les méthodes itératrices, tu implémentes Iterator, et tu es obligé d'implémenter les méthodes nécessaires pour cet itérateur : valid, next, current, key.
C'est une structure.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 mai 2007 à 18:03
Cela permet de n'avoir qu'une seule interface pour appeler n'importe quel "pilote".
On a pas à instancier la classe mssqlDB, on passe par l'interface d'usinage, et on lui dit qu'on veut une db de type mssql. Elle gèrera les erreurs (alors que dans le premier cas, si le pilote, et donc la classe mssxqlDB n'existe pas, tu vas instancier une classe non existante, donc une erreur non gérée par ton code : c'est le debugueur interne de PHP qui va réagir.)
Cela perlet aussi de gérer d'autres chose su passage : une collection d'objets, des singletons, des multitons, etc etc...
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
23 mai 2007 à 10:52
bon, j'ai bien jeté un oeil sur tes liens; ,qis je n'arrive pas a comprendre à quoi sert de faire une interface. Pourrais tu m'orienter un peu s'il te plait ? De ce que j'ai compris, dans l'interface, tu va mettre les fonctions et les paramètres qu'une autre classe (qui implementera l'interface) utilisera. Mais à quoi ca sert de spécifier quelles fonctions utiliser ? J'ai vu par la suite que c'était pour une raison d'interoperabilité, mais je ne comprends pas trop le rapport là. Si tu (ou quelqu'un) pouvait m'éclairer sur la chose, je lui en serai grandement reconnaissant ! (je ne demande pas forcément une explication de deux heures, juste des bons liens seront parfaits)
Pour info j'ai cherché sur Wikipedia, mais l'explication de interface ne m'a pas eclairé, j'ai regardé tes liens Malalam, et pareil. J'ai aussi cherché sur Google, mais rien. (Il n'est pas exclu que j'ai mal cherché ! :) )
Merci de votre aide
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
23 mai 2007 à 10:40
ok !! merci beaucoup ! :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 mai 2007 à 18:32
Usinage :
http://fr.php.net/manual/fr/language.oop5.patterns.php

Itérateurs:
http://www.php.net/~helly/php/ext/spl/
(et un sympathique tuto de FhX sur PHPCS, et quelques uns de mes codes dernièrement -cherche dans ma liste de code, il y a des scripts aynat trait à la SPL (Standard PHP Library)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
21 mai 2007 à 12:24
Yop !
Malalam, qu'est-ce que l'usinage et les itérateurs (dans ce cas ?) ??? ou donne voir une url d'explications si possible (j'en cherche, mais pour le moment j'ai rien trouvé la dessus !)

Ensuite, Arkko; par rapport à ton modele, je suis d'accord avec Malalam, c'est peut-être mieux d'avoir une classe par table (voir deux si ca fait trop), avec une classe abstraite de base de donnée. Bon apres, c'est mon point de vue, et je ne l'impose pas ;).
J'ai posté ma propre vision de la chose recement, si tu veux avoir mon point de vue sur la chose :
http://www.phpcs.com/codes/TENTATIVE-APPROCHE-MODELE-CRUD-UTILISATION-CLASSE-SGBD_42650.aspx

apres je pense que ces deux modeles sont vraiments quelque chose d'interessants à creuser pour optimiser la structure des codes :)
voila voila !
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 mai 2007 à 08:58
Hello,

merci de mettre des mots clefs.
Ensuite...as-tu réflêchi aux réelles améliorations qu'apporte un tel modèle ? Du design pattern, ça ne se fait pas à tors et à travers, parce que c'est à la mode dans les écoles d'info...
A mon goût, ton exemple comporte beaucoup trop de code redondant, trop de fichiers (je préfère 1 fichier dans un tel cas...ou 2), et trop de code tout court. Et penses aux spécificités de PHP5, comme l'abstraction, l'usinage, les itérateurs (filtre notamment, je pense à la lecture) etc.
Rejoignez-nous