Je débute en POO, et je bute sur la récupération des propriétés privées d'un objet contenu dans un tableau.
Voici un extrait du var_dump du tableau ($last_visas) en question :
Code : Tout sélectionner
4331 =>
array
0 =>
object(CdtVisa)[9]
private 'id_visa' => string '1' (length=1)
private 'type' => string 'DIR' (length=3)
private 'id_pers' => string '1' (length=1)
private 'date' => string '2006-01-02 12:12:12' (length=19)
private 'id_prof' => string '4331' (length=4)
private 'code_structure' => string '3 1' (length=3)
private 'id_groupe' => string '0' (length=1)
private 'last_id_ctexte' => string '3' (length=1)
private 'activation' => string '1' (length=1)Si je mets le code suivant :
echo $last_visas[4331][0]->date;
J'obtiens le message d'erreur suivant : Cannot access private property CdtVisa::$dateSi je change la visibilité de la propriété $date dans la classe CdtVisa de private à public, j'ai un affichage correct de la valeur de l'attribut ('2006-01-02 12:12:12'). Mais je veux conserver la visibilité private
Dans la classe CdtVisa, j'ai un getter défini ainsi :
public function date()
{
return $this->date;
}
Donc je pensais pouvoir faire un
echo $last_visas[4331][0]->date();
J'obtiens le message d'erreur suivant : Call to a member function date() on a non-objectJe ne comprends pas... $last_visas[4331][0] est bien un objet d'après le var_dump..., mais on ne peut pas accéder à ses propriétés privées, même en passant par le getter...
Qu'est-ce qui ne va pas ?