procedure na opakovaný kód v Presenteri
- miro_r
- Člen | 22
Existuje nejaká možnosť definovania vlastnej procedúry, ktorá by bola použitá pre všetky render… v Presenteri ? Klasické volanie určitého kódu, ktorý sa vykoná akoby vo vnútri metódy render ?
V presenter mám niekoľko metód zobrazovania rôznych podúdajov k položke s id (jedna stránka všeobecné, iná podrobnejšie, iná prepojenia,…) a na začiatku každej metódy render zisťujem to isté – či položka s id existuje a či je zobraziteľná pre konkrétneho užívateľa, ak je id nenájdené, hľadať najbližšie atď. a týchto x riadkov sa mi opakuje v nejakých siedmych render… . Ako to zjednodušiť, je možné definovať tento kus kódu ako „procedúru“ a volať ju ?
V príkladoch som našiel startup() pre overenie prihlásenia ale ja overujem aj na základe id – parametra predávaného render metóde, takže to nemôžem použiť.
Editoval miro_r (8. 3. 8:31)
- Kamil Valenta
- Člen | 762
Možná by Ti vyhovovala společná metoda beforeRender(), jen se jí
nepředávají parametry, musel by sis po nich sáhnout,
např.
$id = $this->getParameter('id');
- Kamil Valenta
- Člen | 762
I render metoda může sahat na $this->template->…, ale je to trochu
„neznámý globální prostor“.
Presenter ale může mít svůj atribut, do kterého to beforeRender nasype a
render na to sáhne.
- Kamil Valenta
- Člen | 762
To je v pořádku, od toho beforeRender je, aby do template naházela společné věci. Spíš jsem myslel, že není úplně šťastné, aby render metody z template něco vytahovaly. Ačkoliv to lze, je lépe, aby si to předaly přes atribut presenteru.