Page 1 sur 1

erreur inconnue "Cannot access empty property"

Posté : 26 oct. 2007, 12:10
par Lochine
Bonjour,
malgrès avoir épluché le forum et les moteurs de recherche,
je n'ai trouvé aucune information sur l'erreur que je rencontre avec PHP : "Fatal error: Cannot access empty property in XXX on line XXX"

cette erreur se produit sur les accesseurs d'une classe :
// definition de l'attribut et des méthode d'acces
var $utilisateurCourant;
public function getUtilisateurCourant() {return (object)$this->$utilisateurCourant;}
public function setUtilisateurCourant(Utilisateur $theUtilisateur) {$this->$utilisateurCourant=$theUtilisateur;}

// appel de la fonction dans une méthode de la classe
$monUtilisateur = new Utilisateur("1", "XXX", "Loïc", "9", "loic","loic","","1");
$this->setUtilisateurCourant($monUtilisateur);

ma classe Utilisateur est bien incluse.
Et ce mécanisme fonctionne correctement avec une autre variable (pas de message d'erreur) :
var $configCourante;
public function getConfigurationCourante() {return (object)$this->configCourante;}
public function setConfigurationCourante(ConfigurationFile $theConfiguration) {$this->configCourante = $theConfiguration;}
public function isSetConfigurationCourante() {return isset($this->configCourante);}

Je ne n'ai pas pu trouver de liste de message d'erreur (à part sur le portail nexen, mais cette erreur n'est aps référencée).
Quelqu'un pourrait il me donner une piste s'il a une idée ?
Merci d'avance

Lo

Posté : 26 oct. 2007, 12:18
par Tracker
Salut,

Tu mets peut-être des $ au petit bonheur la chance, non ?
public function getUtilisateurCourant() 
{
  return (object)$this->utilisateurCourant;
}
public function setUtilisateurCourant(Utilisateur $theUtilisateur)
{
  $this->utilisateurCourant=$theUtilisateur;
} 

Tracker.

ca aurait été trop beau

Posté : 26 oct. 2007, 12:28
par Lochine
Oui effectivement, c'est une erreur, mais juste une erreur de recopiage...
Et oui j'ai pris la peine de recopier à la main pr me relire.
La source de mon erreur ne vient pas de $this->$utilisateurCourant (le deuxieme dollar en trop).