PHP Notice: Trying to get property of non-object in… pri vytvareni parametru v odkazu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
gerades
Člen | 40
+
0
-

Zdravim,

mam tady takovy odkaz:

<a href="
   {plink Export:default 'userid' => $user->Id, 'articleid'=>$article->Id, 'otherid'=>$other->Id}"
   title="Export">Export</a></li>

A chtel bych ho mit v menu, cili v @layout.phtml souboru. Nekdy se muze stat, ze $article nebo $other neni naplneny daty a pak mi to haze tady tu hlasku: PHP Notice: Trying to get property of non-object in...

Existuje nejaka vychytavka, jak to osetrit (aniz bych musel psat if/else… → protoze kdyby tam bylo vice promennych, tak by se to strasne zkomplikovalo, a ja jich tam mam docela dost :-/ )?

studna
Člen | 181
+
0
-

Moc elegantních způsobů mě zrovna nenapadá. O:)

a)

	<a n:href="Export:default, 'userid' => $user->id, 'articleid' => ( $article ) ? $article->id : null">Export</a>

b) Prakticky stejné řešení jak a), akorát tu podmínku máš ve funkci

	<a n:href="Export:default, 'userid' => $user->id, 'articleid' => funkceNaVraceniIdNeboNull( $article )">Export</a>

Možná bude i nějaká vychytávka o které nemám páru.

Editoval studna (27. 2. 2011 21:57)

gerades
Člen | 40
+
0
-

Jo parada, tohle pomohlo :D

Jeste jsem tam dal isset() → aby to nepsalo zase dalsi hlasku ze tu promenou nezna :)

{plink Export:default 'answerid'=>( isset($answer) ) ? $answer->Id : null, ....

Moc dik. Uz to vypada, ze nemam v system zadny problem… huraa!

Editoval gerades (27. 2. 2011 21:59)