Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1616 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer les propriétés d'un objet dans un autre objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer les propriétés d'un objet dans un autre objet

n°2026364
belgarion
Emporté par le Nexus
Posté le 01-10-2010 à 17:41:21  profilanswer
 

Bonjour,
 
Étant débutant en POO, je pense que la solution que j'utilise pour arriver à faire ce que je veux est pourri et qu'il existe une bien meilleure solution.
 
J'ai fait une class pour gérer mes connexions mysqli.
Ce que je cherche à faire, c'est de créer une propriété dans ma class pour chaque propriété de mon objet resultat de la requête mysqli. J'arrive à le faire mais en transformant l'objet resultat en tableau ce qui a mon avis n'est pas la bonne solution.
 
Je pense qu'on peux faire de l'héritage mais comment le faire alors que :
- ma class parent dont je devrais hériter est défini à l'intérieur de ma class enfant.
- je ne connais pas les noms des propriétés de la class parent.
 

Code :
  1. class A
  2.     function __construct($sqlquery)
  3.     {
  4.         global $mysqli;
  5.         $this->result = $mysqli->query($sqlquery);
  6.     }
  7.     function suivant()
  8.     {
  9.         if(is_object($this->result) && $db = $this->result->fetch_object())   
  10.         // si j'ai bien un résultat je met l'objet dans $db
  11.         {
  12.             $tableauDB = get_object_vars($db);    // je transforme l'objet en tableau
  13.             while( key($tableauDB) <> NULL )        // pour chaque ligne du tableau
  14.             {
  15.                 $clef = key($tableauDB);
  16.                 $this->$clef = current($tableauDB);    // je crée une propriété à mon objet
  17.                 next($tableauDB);
  18.             }
  19.             return true;
  20.         }
  21.         else
  22.         {
  23.             return false;
  24.         }
  25.     }


Message édité par belgarion le 01-10-2010 à 21:35:22
mood
Publicité
Posté le 01-10-2010 à 17:41:21  profilanswer
 

n°2026398
stealth35
Posté le 01-10-2010 à 22:29:17  profilanswer
 

pourquoi : $tableauDB = get_object_vars($db);
autant faire  fetch_assoc()

 

et ta boucle est bien compliquer pour ce qu'elle devrai etre

 
Code :
  1. function suivant()
  2. {
  3.    if(is_object($this->result) && $db = $this->result->fetch_assoc())      
  4.    {    
  5.        foreach($db as $key => $value)
  6.        {
  7.            $this->$key = $value;
  8.        }          
  9.        return true;        
  10.    }
  11.    else
  12.    {
  13.        return false;
  14.    }
  15. }


Message édité par stealth35 le 01-10-2010 à 22:30:12
n°2026464
stef_dober​mann
Personne n'est parfait ...
Posté le 02-10-2010 à 15:47:35  profilanswer
 

ne faut-il pas créer une méthode "magic" __set et son frére __get  pour faire ça :??:


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer les propriétés d'un objet dans un autre objet

 

Sujets relatifs
connaitre les propriétés d'un objet[Perl] - Programmation objet et debugger
quel objet calendrier utilisez-vous ?PHP 5.3.3 déclaration d'un objet
enregistrer objetTri d'objet pointé dans un tableau
Erreur d'exécution Microsoft VBScript: Cet objet ne gère pas cette proacceder à une propriété d'un objet par l'intermédiaire d'un string
récupere une date string et l'attribuer à Calendar 
Plus de sujets relatifs à : Récupérer les propriétés d'un objet dans un autre objet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR