Hum... pas forcément, ton DribleEvent n'est pas obligé directement de taper dans la base.
D'après ce que je comprends, il y a 2 étapes importantes dans ton système :
- L'ajout d'événement dans ton gestionnaire
- La sérialisation de ton gestionnaire dans la base
On a je pense 2 possibilités pour ton gestionnaire :
1) Pendant l'ajout d'un évènement, on demande à ce dernier de se stocker lui même dans le gestionnaire (ou dans une partie "modèle" du gestionnaire). Une fois qu'on aura ajouté tout les évènements, on fera la/les requêtes SQL du modèle construit au fur et à mesure.
2) Quand tout les évènements ont été ajoutés, on passe dans chacun des évènements afin de construire le modèle. On peut ensuite faire pareil que dans 1) c'est à dire sérialiser notre modèle dans la base de données.
Personnellement je préfère la première solution, cela nous évite de faire une boucle sur tout les évènements pour construire notre modèle.
Dans notre gestionnaire on aura par exemple une propriété data qui contiendra l'ensemble de nos données à insérer dans notre base.
Voilà à peu pres comment j'imagine la méthode d'ajout d'évènement au sein du gestionnaire
D'après ce que je comprends, il y a 2 étapes importantes dans ton système :
- L'ajout d'événement dans ton gestionnaire
- La sérialisation de ton gestionnaire dans la base
On a je pense 2 possibilités pour ton gestionnaire :
1) Pendant l'ajout d'un évènement, on demande à ce dernier de se stocker lui même dans le gestionnaire (ou dans une partie "modèle" du gestionnaire). Une fois qu'on aura ajouté tout les évènements, on fera la/les requêtes SQL du modèle construit au fur et à mesure.
2) Quand tout les évènements ont été ajoutés, on passe dans chacun des évènements afin de construire le modèle. On peut ensuite faire pareil que dans 1) c'est à dire sérialiser notre modèle dans la base de données.
Personnellement je préfère la première solution, cela nous évite de faire une boucle sur tout les évènements pour construire notre modèle.
Dans notre gestionnaire on aura par exemple une propriété data qui contiendra l'ensemble de nos données à insérer dans notre base.
Voilà à peu pres comment j'imagine la méthode d'ajout d'évènement au sein du gestionnaire
Code PHP :
<?php
function ajouterEvenement( $evenement )
{
$evenement->addData($this->data) ;
}
Et dans notre classe DribleEvent on a :
Code PHP :
<?php
function addData( $data )
{
//Exemple sous forme de tableaux (un systeme oriente objet reprendrait le meme principe)
$data['dribles'][$this->gagnant][$this->perdant] += 1 ;
}