Problème à la création d'un objet

Résolu
BooletMan Messages postés 26 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 5 août 2009 - 4 août 2009 à 10:32
BooletMan Messages postés 26 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 5 août 2009 - 4 août 2009 à 14:31
Bonjour bonjour !

A partir d'un XML, je récupère sous forme d'objet les informations concernant un fichier (son nom, si ce fichier est requis, s'il fait partie d'une collection, son poids, et enfin sa valeur par défaut). A partir de ses attributs, je construit un champs de formulaire (qui constitue également un objet) qui lui est propre. Ici, il s'agit d'une image :

$images = new SimpleXMLElement(file_get_contents($chemin_fichiers.'images.xml'));

foreach ($images as $image)
{
    var_dump($image);
    $this->fichiers[$image->nom] = new ImageField($image->nom, $image->est_requis, $image->est_unique, $image->poids_max, $image->default);
}


Cependant, j'obtiens :

object(SimpleXMLElement)#15 (5) { ["nom"]=>  string(5) "photo" ["est_requis"]=>  string(3) "oui" ["est_unique"]=>  string(3) "oui" ["poids_max"]=>  string(7) "5000000" ["default"]=>  string(11) "default.jpg" }

Warning: Illegal offset type in ...


...et là, je bloque. Sauriez-vous m'aider ?

1 réponse

BooletMan Messages postés 26 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 5 août 2009
4 août 2009 à 14:31
Hello!

Bon, j'ai réussi à résoudre mon problème (tout seul).

Il fallait en fait forcer la définition du type de donnée pour chaque attribut obtenus :

foreach ($images as $image)
{
$this->fichiers[(string)$image->nom] = new ImageField((string)$image->nom, (bool)$image->est_requis, (bool)$image->est_unique, (string)$image->default, (int)$image->poids_max);
}

Voilà... keep on programmin' folks.
3
Rejoignez-nous