(reprise du message précédent)
Je pense qu'il faut commencer par comprendre l'utilité du MVC.
Sur des petits projets, ça peut paraître inutile (même si ça ne l'est jamais), mais quand tu arrive sur des gros projets, en équipe avec une maintenance sur le long terme, c'est inévitable, sinon ça risque de finir par des homicides volontaires, torture, etc...
Le but c'est de dissocier les données (Modèle, BDD) de la couche métier (Contrôleur, Code PHP, Java, etc...) et de l'interface visuelle (Vue, HTML, CSS, etc...). de manière à ce qu'un intégrateur par exemple qui ne connait pas le PHP ait une meilleur lisibilité et ne risque pas de détériorer l'application. De la même façon, si tu change un fichier HTML, tu a pas besoin de te farcir a nouveau tout le code PHP.
Perso j'ai poussé le vice jusqu'à ne plus avoir une seule ligne de PHP dans mes fichiers HTML et c'est un bonheur à travailler.
Pour ce qui est de la relation Modèle - Contrôleur, il y a par exemple Doctrine 2 (ORM de Symfony 2) qui possède des classes de type "Entity" (classes métier) et des classes de type "Repository" (classes d'interaction avec la BDD), mais quand tu crée ton appli, tu n'est absolument pas obligé de les utiliser, tu peut mixer ton modèle et ton contrôleur au sein de la même classe.
Modifié par JJK801 (02 Aug 2012 - 17:33)
PanPan50 a écrit :
Enfin bon il faudrait peut-être que je me force à l'utiliser, tout le monde à l'air de dire que c'est LA façon de bien coder...
Je pense qu'il faut commencer par comprendre l'utilité du MVC.
Sur des petits projets, ça peut paraître inutile (même si ça ne l'est jamais), mais quand tu arrive sur des gros projets, en équipe avec une maintenance sur le long terme, c'est inévitable, sinon ça risque de finir par des homicides volontaires, torture, etc...
Le but c'est de dissocier les données (Modèle, BDD) de la couche métier (Contrôleur, Code PHP, Java, etc...) et de l'interface visuelle (Vue, HTML, CSS, etc...). de manière à ce qu'un intégrateur par exemple qui ne connait pas le PHP ait une meilleur lisibilité et ne risque pas de détériorer l'application. De la même façon, si tu change un fichier HTML, tu a pas besoin de te farcir a nouveau tout le code PHP.
Perso j'ai poussé le vice jusqu'à ne plus avoir une seule ligne de PHP dans mes fichiers HTML et c'est un bonheur à travailler.
Pour ce qui est de la relation Modèle - Contrôleur, il y a par exemple Doctrine 2 (ORM de Symfony 2) qui possède des classes de type "Entity" (classes métier) et des classes de type "Repository" (classes d'interaction avec la BDD), mais quand tu crée ton appli, tu n'est absolument pas obligé de les utiliser, tu peut mixer ton modèle et ton contrôleur au sein de la même classe.
Modifié par JJK801 (02 Aug 2012 - 17:33)