27-07-2011, 02:40 PM
le fameux (hum) MVC peut paraitre limitant mais je t'assure qu'il te fais gagner du temps.
Exemple concret et vécut :
mon boss : il faut implémenter un systeme de droit dans l'interface, et je veux que ce systeme soit la roll royce des systemes de droits, que ce soit blindé de partout , mais facile a utiliser (et bien sur transparent pour l'utilisateur) et je veux aussi que ce soit super fin, que chacue champs d'un formulaire soit soumis a ce systeme de droit. Bref, je veux le must
moi : ok, je vais y réfléchir...j'ai carte blanche ?
mon boss : bien sur
3 mois plus tard
moi : c'est fais, j'ai mis au point en syteme adéquate, néanmoins, il va fortement ralentir l'application, surtout dans les grilles ajax. ca marche comme ca..blabla
mon boss : mais c'est géniale, on peut le déployer quand et cela prendra combien de temps.
moi : on peut commencer des demain a le deployer sur toutes les applications et cela prendra disons..1 mois
mon boss : 1 mois seulement, mais comment c'est possible ?
moi : l'avantage d'avoir une couche MVC entierement objet, imaginer et concu par votre serviteur
1 semaine plus tard
moi : c'est fait, testé et recetté en interne
mon boss: Arius, tu me surprendra toujours !
autre exemple :
Microsoft rachète mon logiciel (et ma boite au passage) mais considère qu'il est trop "open-source" a son gout (on se demande pourquoi...)
Micosoft maison mère: ca va pas, il faut enlever tout ces truck open source avec des licences qui pourrait nous faire aller en justice..et perdre
microsoft filiale (mon boss quoi) : bas de soucis, le logiciel et super modulable, il nous faudra 3 mois pour le faire
Microsoft maison mere : 3 mois ? on compter négocier pour ne pas descendre en dessous de 6 mois. Du coup, pas besoin de négocier, mais 3 mois vraiment ?
mon boss : oui oui, 3 mois
..1mois plus tard...
moi : c'est fais, tout a ete "microsofisé" (même ma fiche de salaire)
mon boss : hehe, j'avais dit 3 mois a la maison mère en pensant que vous (moi et mon équipe de 3 personnes) allier le faire en 2...1 mois c'est le top
tout ca pour dire que ce qui parait "limitant" /contraignant au début (comme un cahier des charges fonctionnelle sans avoir aucune idée du code qui va aller derriere, d'ailleur on s'en contrefiche-j'insiste, le code on s'en contrefiche-, suivit d'un cahier des charges technique, de bien etre en MVC, de bien etre en objet, de bien suivre la syntaxe et la sémantique des langages, nomenclatures des noms etc..) est réellement un énorme gain de temps par la suite, et quand je dis énorme, je dis ENORME.
Sinon, tes autres points :
le fais de pas choisir de moteur de template, c'est choisir un moteur de template (le sien) et donc si tu choisis mal, tout pareil, t'es mal sauf qu'il est plus facile de migrer un moteur de template "officiel" vers un autre moteur de template "officiel" que de son moteur a soi vers ou venant d'un officiel
tu ne peux pas avoir du 1 pour 1 (sinon quel est l'intéret ? autant tout rassemblé ?)
si le controleur est (en partie) lié a une vue, le modele n'est jamais lié a un controleur ou une vue (genre JAMAIS), ce que font les type pro en base de donné, ne devrait pas avoir de lien avec ce que font les type pro en developpement, ni avoir de lien avec ce que font les type pro en design..surtout pas.
En clair, tu peux considerer que tu es en MVC si demain, tu peux changer entièrement ton modele sans impacter d'un iota ta vue, ton design. (pour etre franc, il y aura toujours un petit truc a changer, mais cela doit rester de l'autre du négligeable). et si tu peux séparer tes equipe en 3 groupes qui travaille chacun de leur coté sans avoir besoin réellement de communiquer nesemble car faisant des boulot totalement distinct..la tu peux dire que tu fais du MVC.
sinon, etre en PDO, ce n'est pas avoir un modele ! cela sert juste de fondation au modele, rien d'autre. Avoir un modele c'est généralement (dans le cas de php) utiliser PDO, mais le contraire n'est pas vrai.
faire du php (moteur de template ou pas) dans du html/xsl/xml/css etc.. c'est toujours mal
Exemple concret et vécut :
mon boss : il faut implémenter un systeme de droit dans l'interface, et je veux que ce systeme soit la roll royce des systemes de droits, que ce soit blindé de partout , mais facile a utiliser (et bien sur transparent pour l'utilisateur) et je veux aussi que ce soit super fin, que chacue champs d'un formulaire soit soumis a ce systeme de droit. Bref, je veux le must
moi : ok, je vais y réfléchir...j'ai carte blanche ?
mon boss : bien sur
3 mois plus tard
moi : c'est fais, j'ai mis au point en syteme adéquate, néanmoins, il va fortement ralentir l'application, surtout dans les grilles ajax. ca marche comme ca..blabla
mon boss : mais c'est géniale, on peut le déployer quand et cela prendra combien de temps.
moi : on peut commencer des demain a le deployer sur toutes les applications et cela prendra disons..1 mois
mon boss : 1 mois seulement, mais comment c'est possible ?
moi : l'avantage d'avoir une couche MVC entierement objet, imaginer et concu par votre serviteur
1 semaine plus tard
moi : c'est fait, testé et recetté en interne
mon boss: Arius, tu me surprendra toujours !
autre exemple :
Microsoft rachète mon logiciel (et ma boite au passage) mais considère qu'il est trop "open-source" a son gout (on se demande pourquoi...)
Micosoft maison mère: ca va pas, il faut enlever tout ces truck open source avec des licences qui pourrait nous faire aller en justice..et perdre
microsoft filiale (mon boss quoi) : bas de soucis, le logiciel et super modulable, il nous faudra 3 mois pour le faire
Microsoft maison mere : 3 mois ? on compter négocier pour ne pas descendre en dessous de 6 mois. Du coup, pas besoin de négocier, mais 3 mois vraiment ?
mon boss : oui oui, 3 mois
..1mois plus tard...
moi : c'est fais, tout a ete "microsofisé" (même ma fiche de salaire)
mon boss : hehe, j'avais dit 3 mois a la maison mère en pensant que vous (moi et mon équipe de 3 personnes) allier le faire en 2...1 mois c'est le top
tout ca pour dire que ce qui parait "limitant" /contraignant au début (comme un cahier des charges fonctionnelle sans avoir aucune idée du code qui va aller derriere, d'ailleur on s'en contrefiche-j'insiste, le code on s'en contrefiche-, suivit d'un cahier des charges technique, de bien etre en MVC, de bien etre en objet, de bien suivre la syntaxe et la sémantique des langages, nomenclatures des noms etc..) est réellement un énorme gain de temps par la suite, et quand je dis énorme, je dis ENORME.
Sinon, tes autres points :
le fais de pas choisir de moteur de template, c'est choisir un moteur de template (le sien) et donc si tu choisis mal, tout pareil, t'es mal sauf qu'il est plus facile de migrer un moteur de template "officiel" vers un autre moteur de template "officiel" que de son moteur a soi vers ou venant d'un officiel
Citation :index.php est mon contrôleur pour l'url -http://www.monsite.com/index.phppas bon du tout...genre pas du tout
model/index.php est le modèle pour ce contrôleur
view/index.php est la vue pour cette url (-http://www.monsite.com/index.php)
tu ne peux pas avoir du 1 pour 1 (sinon quel est l'intéret ? autant tout rassemblé ?)
si le controleur est (en partie) lié a une vue, le modele n'est jamais lié a un controleur ou une vue (genre JAMAIS), ce que font les type pro en base de donné, ne devrait pas avoir de lien avec ce que font les type pro en developpement, ni avoir de lien avec ce que font les type pro en design..surtout pas.
En clair, tu peux considerer que tu es en MVC si demain, tu peux changer entièrement ton modele sans impacter d'un iota ta vue, ton design. (pour etre franc, il y aura toujours un petit truc a changer, mais cela doit rester de l'autre du négligeable). et si tu peux séparer tes equipe en 3 groupes qui travaille chacun de leur coté sans avoir besoin réellement de communiquer nesemble car faisant des boulot totalement distinct..la tu peux dire que tu fais du MVC.
sinon, etre en PDO, ce n'est pas avoir un modele ! cela sert juste de fondation au modele, rien d'autre. Avoir un modele c'est généralement (dans le cas de php) utiliser PDO, mais le contraire n'est pas vrai.
Citation :vu que je n'en utilise pas à présent, je dois faire des echo, foreach dans mes vues, pour afficher les données récupérées par mon modèletu n'as pas besoin d'avoir un moteur de template pour prendre de bonne habitude
faire du php (moteur de template ou pas) dans du html/xsl/xml/css etc.. c'est toujours mal