8768 sujets

Développement web côté serveur, CMS

Bonsoir à tous,

J'ai un gros trou de mémoire, je souhaiterais pouvoir accèder de manière dynamique à un attribut d'un objet en PHP.

Je m'explique.

J'ai un objet $OBJET qui à plusieurs centaines d'attribut comme Attr1, Attr2, Attr3 etc ...

Comme je me sers de cet objet de faire des requêtes SQL dynamique (elles aussi), j'aimerais pouvoir récupérer la valeur de l'attribut de l'objet en définissant, dynamiquement, l'attribut.

En code, ça ressemble à ceci :

for($i=1; $i<=$Count; $i++)
	{
	$dynamique = 'Attr'.$i;
	$valeur = $OBJET->{$dynamique};
	$query.= '`'.$dynamique.'` LIKE :'.$dynamique.' AND ';
	$Loopback[':'.$dynamique] = $valeur.'%';
	}


Dans mes souvenirs il me semblait qu'en mettant entre crochet une variable, je pouvais appeler l'attribut dynamiquement.

$OBJET->{$dynamique};


Mais malheureusement il n'en ai rien Smiley decu

Pour infos, l'objet comporte bien des valeurs sur ses attributs (vérifier lors d'un var_dump)..

Avec le code ci-dessous, le tableau me retourne " string(1) " pour l'attribut dynamique, bref, c'est pas ça.

Si quelqu'un à une idée, je suis preneur. Par avance merci Smiley smile

Edit: Boulet je suis, j'avais oublié les parenthèses ...

 $OBJET->{$dynamique}();

Modifié par Super_baloo8 (19 Jan 2017 - 00:07)