|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
Bonjour,
j'aurais besoin de votre aide sur une question d'héritage: j'ai une classe parent, disons "Article" et des classes filles: "ArticleMagasin", "ArticleEntrepot", ... Lorsque je lance une recherche sur un article, j'obtiens donc une liste d'Articles. Puis lorsque je regarde le détail de mon Article, j'arrive sur un écran principal où j'appelle les différentes méthodes de la classe parent (getRefence(), getDescription(), ...) et lorsque je veux aller dans les onglets spécifiques (Entrepôt, Magasin), je voudrais réutiliser mon objet $article et le surcharger avec les attributs et les méthodes de la(les) classe(s) fille(s) sachant que mon Article peut être en magasin et/ou à l'entrepôt et/ou à l'usine. Pouvez-vous m'aider. Peut-être ai-je prit une mauvaise voie en faisant de l'héritage ! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 791 ![]() |
Salut,
effectivement il y a peut-être un souci avec ton utilisation de l'héritage. En théorie, en POO tu devrais récupérer une liste d'"ArticleMagasin", "ArticleEntrepot", ... et non pas une liste d'"Article", mais pas vraiment en PHP (étant donné que tu es limité par la durée des scripts et surtout parce qu'il vaut préserver les ressources serveur). J'imagine que tu fais ça pour limiter les ressources utilisées ? Si ta liste contient des objets de type "Article", tu ne pourras pas les downcaster en "ArticleMagasin", etc. étant donné que tu les as créés en tant qu'"Article". Donc 2 solutions je crois (j'imagine que tu utilises une BDD ?) : 1) - créer une liste d'Article depuis la BDD - au changement d'onglet réinstancier un objet du bon type ArticleMagasin etc. en fonction de l'id de ton Article et donc réinterroger la BDD 2) - créer directement une liste d'ArticleMagasin, etc. depuis la BDD - au changement d'onglet sauver ton objet en session ou autre puis le récupérer sur l'autre page L'inconvénient de la solution 1 est qu'elle nécessite plusieurs requêtes. L'inconvénient de la solution 2 est que tu vas créer tous tes objets spécifiés et donc récupérer des données inutiles pour la première page. Personnellement, j'utilise en général la solution 1 (en PHP).
__________________
Vive les roues en pierre |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com