Comme tous les formalisme, on ne voit pas forcément l'intéret quand on a que quelques tables et fonctions, mais plus les systèmes deviennent complexes plus ça devient dur à gérer.
Je connais pas le concept de MVC mais j'imagine qu'appliquer à un jeu php, ça se découperait comme ça :
- le modèle, c'est la base de donnée et ses accès. La façon dont sont organisées les données.
- le controleur, c'est la façon d'agir sur ses données, en gros ça va correspondre à toutes les actions, événements possible dans le jeu.
- la vue c'est juste la mise en forme des résultat de l'action ou autre sur le site.
L'intéret c'est que si les trois fonctions sont séparées clairement, tu peux modifier plus facilement une seule partie sans tout refaire.
Par exemple, si tu veux juste modifier l'apparence de ton site, normalement tu devras pas toucher aux accès à la BDD. (En pratique sans suivre un modèle rigoureux ça devrait être le cas.)
Autre exemple tu veux ajouter une "action" supplémentaire dans le jeu, la possibilité de "sauter", normalement tu vas agir uniquement que sur la partie controleur. Le modèle et la vue ne seront pas impacter.
La relation avec la programmation POO c'est que quand tu vas créer un objet, il faut que les méthodes soient dans une seule catégorie.
- la partie modèle qui se connecte juste à la BDD (par exemple le constructeur pour initialiser l'objet)
- une partie controlleur, qui traite des données abstraites pour effectuer une action (par ex: function attaquerCible() )
- une partie vue ( par ex : function displayCombatResult())
Tu veux changer le fond d'écran de noir en blanc ? Il suffit de modifier la fonction displayCombatResult sans toucher au reste.
Tu veux changer le système de combat ? Tu dois modifier que la fonction attaquerCible. L'affichage restera le même.
Sans POO tu peux quand même faire du MVC en séparant bien tes fonctions selon ces trois catégories.
En gros ce qu'il faut éviter de faire, c'est des fonctions ou méthodes qui se connectent à la BDD, font un calcul et affichent le résultat. Parce que dès que tu vas vouloir modifier un seul truc dans ton jeu il va falloir réécrire toutes les fonctions.
(Pffiou c'était long...)
Je connais pas le concept de MVC mais j'imagine qu'appliquer à un jeu php, ça se découperait comme ça :
- le modèle, c'est la base de donnée et ses accès. La façon dont sont organisées les données.
- le controleur, c'est la façon d'agir sur ses données, en gros ça va correspondre à toutes les actions, événements possible dans le jeu.
- la vue c'est juste la mise en forme des résultat de l'action ou autre sur le site.
L'intéret c'est que si les trois fonctions sont séparées clairement, tu peux modifier plus facilement une seule partie sans tout refaire.
Par exemple, si tu veux juste modifier l'apparence de ton site, normalement tu devras pas toucher aux accès à la BDD. (En pratique sans suivre un modèle rigoureux ça devrait être le cas.)
Autre exemple tu veux ajouter une "action" supplémentaire dans le jeu, la possibilité de "sauter", normalement tu vas agir uniquement que sur la partie controleur. Le modèle et la vue ne seront pas impacter.
La relation avec la programmation POO c'est que quand tu vas créer un objet, il faut que les méthodes soient dans une seule catégorie.
- la partie modèle qui se connecte juste à la BDD (par exemple le constructeur pour initialiser l'objet)
- une partie controlleur, qui traite des données abstraites pour effectuer une action (par ex: function attaquerCible() )
- une partie vue ( par ex : function displayCombatResult())
Tu veux changer le fond d'écran de noir en blanc ? Il suffit de modifier la fonction displayCombatResult sans toucher au reste.
Tu veux changer le système de combat ? Tu dois modifier que la fonction attaquerCible. L'affichage restera le même.
Sans POO tu peux quand même faire du MVC en séparant bien tes fonctions selon ces trois catégories.
En gros ce qu'il faut éviter de faire, c'est des fonctions ou méthodes qui se connectent à la BDD, font un calcul et affichent le résultat. Parce que dès que tu vas vouloir modifier un seul truc dans ton jeu il va falloir réécrire toutes les fonctions.
(Pffiou c'était long...)