27-02-2013, 02:47 PM
(27-02-2013, 02:22 PM)Kurapika0 a écrit : Merci pour les précision sur les design patterns
Mais si je créé un tableau du type :
Code PHP :<?php
$objets = array (
'1' => 'Potion', //id => nom_objet
'2' => 'Carte',
'3' => 'Epee',
'4' => 'Voiture');
?>
Et que chaque classe porte le même nom que l'objet associé [nom_objet].class.php (Potion.class.php par exemple), alors je peux facilement instancier un objet de la classe Potion si je sais que l'id de l'objet que je cherche à instancier est 1 (et que donc la classe à appeler est Potion et se trouve dans le fichier Potion.class.php sauf si je met toutes les classes d'objets dans le même fichier).
C'est ça que tu entends par stocker le type, ou alors je n'y suis pas du tout?
ça veut dire que dans ta table objet tu as (par exemple) :
id objet, id type, quantité, propriétaire
1, 1, 3, Ter Rowan
2, 1, 5, Kurapika0
3, 2, 1, toto
4, 2, 1, tutu
5, 4, 1, titi
l'objet d'id 1 est de type 1 à savoir potion ==> Ter Rowan a trois potions
l'objet d'id 2 est de type 1 à savoir potion ==> Kurapika0 a 5 potion
l'objet d'id 5 est de type 4 à savoir voiture ==> titi possède une voiture
après tu suis ton raisonnement mais sur le type
un truc du genre (avec toutes les précautions à prendre de vérification, etc...)
pour l'enregistrement $data que tu auras récupéré de la lecture de la table
$data = array( 'id_objet' =>'1', 'id_type' =>1, 'qantité' =>3, 'propriétaire' => Ter Rowan);
$maClasse = $objets[ $data['id_type'] ]; // ici on identifie la classe à manipuler
$monObjetAManipuler = new $maClasse( /*les paramètres qui vont bien*/ );