konkrétní užití metody forward()

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

Ahoj,

Nemohl by mi někdo objasnit metodu forward()

Z dokumentace:

K přesměrování slouží $this->redirect(…), k přechodu na jiný presenter/action $this->forward(…). Rozdíl je v tom, že redirect provede přesměrování na jinou stránku pomocí HTTP a forward jen přepošle zpracování jinam.

Chtěl bych Vás požádat o nějaké konkrétní využití, nerozumím totiž tomu co to znamená přeposlat zpracování jinam. Ještě bych trochu rozuměl tomu kdyby to měla být nějaká metoda klasické třídy, ale pokud má jít o metodu jiného presenteru,tak si to nějak neumím představit.

Rád bych se to dozvěděl hlavně proto,že kvůli tomu aby se mi v mé aplikaci neopakoval stejný kód v různých presenterech, tak jestli by tato metoda nemohla být řešením.

Dědičnost mi v mém případě moc nepomůže,protože by musela být dynamická nebo vícenásobná,což nejde.
Tak to řeším komponentama,ale začínám mít překomponentováno a nevím jestli na to jdu správným směrem.

Aurielle
Člen | 1281
+
0
-

Jde jako kdyby o „podstrčení“ nového presenteru/akce se stávající adresou. Momentálně to využívám na per-module ErrorPresentery.

Filip Procházka
Moderator | 4668
+
0
-

malá perlička https://api.nette.org/…ion.php.html#26 – maximální počet forwardů na 1 request je 19 :)

Aurielle
Člen | 1281
+
0
-

HospiLan: jde to změnit :P

westrem
Člen | 398
+
0
-

Ja to obcas vyuzivam, ked nastavujem filter pre formular do session, tak v jednej akcii nastavim a potom forwardnem na vykreslovanie. V tomto pripade tym usetrim redirect pretoze nie je potrebny a zase mam pekne oddelene ukladanie filtru do session a rendering ;)