12-09-2009, 12:32 PM
Tu trouve pas ça un peu facile l'analyse phrase par phrase que tu sors du context? Bref...
Donc en gros, mis à part l'envie de chamailler (et de me faire passer pour un idiot?) nous avons le même avis, et j'en suis heureux.
Je pense que la classe est très simple à mettre en place finalement... Perso je ferais comme ça:
Comme variables:
privat $fightStep; // enregistre la phase du combat
privat $hero = array(); //contenant les variables du héros, genre lifepoint etc.
privat $ennemies = array(); // la même chose que héros, avec moins de détails nécessaire je pense
Ensuite quelques méthode, genre connection BDD, phase de combat, fuite etc.
En gros pour enregistrer dans la BDD j'utiliserais serialize(); dans le destructeur, et unserialize(); dans le constructeur. Tu n'utilise qu'un seul champs de BDD, et l'objet s'initialise directement ou tu en était avant!
Donc nullement besoin d'enregistrer tout ça séparément, et du coup en cas de changements (ajouts d'un champs héro par exemple) on ne change rien en BDD, tout est interne à la classe :-)
Je crois que c'est le plus adapté, tu modifie uniquement un seul champ (relativement legé, bien que du text...), tu garde beaucoup de souplesse niveau modifs, et l'object s'instancie directement correctement (pas besoin de faire dans le constructeur des grosse listes genre:
$this->hero['lifepoints'] = $mysqlInfos->lifepoints;
$this->hero['mental'] = $mysqlInfos->mental;
...
Donc en gros, mis à part l'envie de chamailler (et de me faire passer pour un idiot?) nous avons le même avis, et j'en suis heureux.
Je pense que la classe est très simple à mettre en place finalement... Perso je ferais comme ça:
Comme variables:
privat $fightStep; // enregistre la phase du combat
privat $hero = array(); //contenant les variables du héros, genre lifepoint etc.
privat $ennemies = array(); // la même chose que héros, avec moins de détails nécessaire je pense
Ensuite quelques méthode, genre connection BDD, phase de combat, fuite etc.
En gros pour enregistrer dans la BDD j'utiliserais serialize(); dans le destructeur, et unserialize(); dans le constructeur. Tu n'utilise qu'un seul champs de BDD, et l'objet s'initialise directement ou tu en était avant!
Donc nullement besoin d'enregistrer tout ça séparément, et du coup en cas de changements (ajouts d'un champs héro par exemple) on ne change rien en BDD, tout est interne à la classe :-)
Je crois que c'est le plus adapté, tu modifie uniquement un seul champ (relativement legé, bien que du text...), tu garde beaucoup de souplesse niveau modifs, et l'object s'instancie directement correctement (pas besoin de faire dans le constructeur des grosse listes genre:
$this->hero['lifepoints'] = $mysqlInfos->lifepoints;
$this->hero['mental'] = $mysqlInfos->mental;
...