Accès à un array dans un objet / notation

Accès à un array dans un objet / notation - PHP - Programmation

Marsh Posté le 31-08-2009 à 21:47:52    

Salut à tous,
J'ai transféré un site PHP d'un serveur Debian à un autre.
Celui d'origine tournait avec PHP 5.2.6.
Le nouveau tourne sous PHP 5.2.0.
 
Après 1 bonne heure de débogage, je me suis aperçu que sur le nouveau, écrire dans un attribut array d'un objet de la manière suivante :
 

Code :
  1. $monObjet->propriete[$id] = 15;


 
ne fonctionne pas!
 
Je dois le faire en 2 opérations pour que ça fonctionne bien :
 

Code :
  1. $maPropriete = $monObjet->propriete;
  2. $maPropriete[$id] = 15;


 
>> C'est normal? C'est une config spécial à appliquer à PHP ou bien c'est mon code d'origine qui n'est pas top?

Message cité 1 fois
Message édité par toutoune le 01-09-2009 à 23:56:42
Reply

Marsh Posté le 31-08-2009 à 21:47:52   

Reply

Marsh Posté le 01-09-2009 à 15:24:55    

toutoune a écrit :

ou bien c'est mon code d'origine qui n'est pas top?

apparemment oui
 

Code :
  1. $monObjet->propriete[$id] = 15;

n'a rien à voir avec

Code :
  1. $maPropriete = $monObjet->propriete;
  2. $maPropriete = 15;

Reply

Marsh Posté le 01-09-2009 à 16:34:10    

de toute manière, en objet, on passe par des accesseurs set et get...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 01-09-2009 à 18:34:32    

c'est pas une obligation [:petrus75] même si c'est plutôt courant en PHP, je vois pas pourquoi se forcer à faire çà :??:

Reply

Marsh Posté le 01-09-2009 à 23:57:18    

soju a écrit :

apparemment oui
 

Code :
  1. $monObjet->propriete[$id] = 15;

n'a rien à voir avec

Code :
  1. $maPropriete = $monObjet->propriete;
  2. $maPropriete = 15;



 
Désolé j'ai été un peu vite...
Ce que je fais en 2 opérations est bien :  

Code :
  1. $maPropriete = $monObjet->propriete;
  2. $maPropriete[$id] = 15;

Message cité 1 fois
Message édité par toutoune le 01-09-2009 à 23:57:35
Reply

Marsh Posté le 03-09-2009 à 10:10:47    

toutoune a écrit :

Code :
  1. $maPropriete = $monObjet->propriete;
  2. $maPropriete[$id] = 15;


avec ton code tu modifies $maPropriete, mais pas $monObjet->propriete ...
montre nous le reste de ton code
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed