Volani fce pro kazdou akci

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

Ahojte,

predstavte si, ze mate tridu „Action.“ Uzivateli reknete – hele chlapa, pokud budes chtit pridat novy presenter, musi dedit z tridy Action.

Zaroven byste ale chteli, aby se pred kazdou „akci“ daneho prezenteru zavovolala dana fce. Jak toho lze dosahnoput? Jak mohu pred kazdou akci zavolat danou funkci, bez toho, abych ji musel natvrdo zavolat v dane akci.

Diky moc.

Šaman
Člen | 2666
+
0
-

Té třídě se většinou říká BasePresenter a ta metoda, ktera se spustí pokaždé je startup().
Jen pokud ji budeš v potomcích upravovat, nezapomeň volat parent::startup().

Editoval Šaman (18. 7. 2013 11:35)

koudis
Člen | 33
+
0
-

Ahoj,

Té třídě se většinou říká BasePresenter a ta metoda, ktera se spustí pokaždé je startup().
Jen pokud ji budeš v potomcích upravovat, nezapomeň volat parent::startup().

Jenze ja nechci fci. ktera se vola pri vytvoreni. Ja chci fci, ktera se zavola pred tim, nez bude zavolana fce action<akce>.

Honza

Etch
Člen | 403
+
0
-

@**koudis**

No a to je právě metoda startup(). Životní cyklus presenteru je

startup()

action<Action>()

handle<Signal>()

beforeRender()

render<View>()

shutdown()

Je to vidět jednoduše v API

EDIT: Pokud ti takovéhle chování nevyhovuje (chtěl by si ho rozšířit), tak ti nic nebrání to udělat.

Editoval Etch (18. 7. 2013 12:38)

mkoubik
Člen | 728
+
0
-

Viz životní cyklus presenteru v dokumentaci.