Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
j'ai suivi la traduction du tutoriel getting-started...mvc approach qui est sur le site developez.com. l'exemple presenté dans le tuto (album) marche tres bien mais quand j'ai essayé de faire mon propre exemple j'ai eu une erreur pour la partie modification : trying to get property of non object
je cherche à resoudre ceci sachant que j'ai, en principe, appliqué le tuto texto. merci
Hors ligne
cela signifie que ta variable n'est pas un objet ou n'est pas définie
tu regarde à la ligne incriminée tu doit avoir un truc du genre
$var->obj->membre
tu fais juste avant ça un (avec le nom de ta variable sûrement $this le nom de ton objet et le nom de ton membre)
print_r ($var->obj);
cela doit t'afficher le contenu de ta variable soit tu as array et son contenu soi du texte ou un nombre soit undefined alors que pour accèder à un membre il te faut un objet
donc dant ton action du dois avoir une ligne du genre
$this->view->obj = $kkchose
ce kkchose doit être un objet et il te faut le vérifier car sinon ta vue ne peut pas l'afficher. si ton $kkchose vient d'une requête sur la base cela vient peut être du fait que la requête n'a rien trouvé ou qu'elle est fausse.
de toute façon lorsque tu mets quelque chose dans ta vue il te faut vérifier que c'est bien ce qu'elle attends.
deux façon de voir le problème. soit le controleur donne à la vue l'objet qu'il à trouvé dans le modèle sans vérification la vue doit alors accepter un objet ou rien et dois faire les vérification avant l'affichage
soit le controlleur vérifie lui même et fournis à la vue l'objet attendu (éventuellement vide)
le mieux est de combiner ces deux façon de voir.
le contrôlleur vérifie tout ce qu'il donne à la vue et au passage ajoute des messages sur le résultat des vérification par exemple objet introuvable, mais fournis tout de même les objet que le modèle lui à donné (éventuellement Null) et la vue vérifie systématiquement l'existence d'un élément avant de l'afficher. ainsi quoi qu'il arrive ton application ne plante pas.
A+JYT
Hors ligne
merci beaucoup pour ton aide.
effectivement j'envoyais à la vus un objet vide du fait que dans mon index.phtml la variable est appelée id alors que dans le controleur j'essayais de récupèrer c_id.
merci encore
Hors ligne