Přesměrování uvnitř modelu
- kleinpetr
- Člen | 480
Zdravím,
četl jsem pár diskuzí kde je jasně řečeno, že redirect z modelu není nejlepší řešení, ale v mém případě, kde přes model komunikuji s API a kontroluji response, je to celkem podstatná věc, protože zde rozhoduji co se bude dít dál a někdy potřebuji např. zapsat flashku a přesměrovat na homepage a samozřejmě je možnost vyhazovat nějakou exceptionu a odchytávat ji v Presenterch, jenže těch míst kde model volám je hrozně moc a chtěl bych to řídit centrálně v modelu, takže se ptám, jak mohu přesměrovat z modelu ? Díky
- petr.jirous
- Člen | 128
co použít eventy? Mrkni na Kdyby\Events. V modelu pak můžeš
volat např. něco takového:
a v presenteru pak takto nastavíš, co se při té události bude dít
Editoval petr.jirous (25. 2. 2016 14:56)
- kleinpetr
- Člen | 480
Dobře, uleželo se mi to v hlavě a nechám to tedy na presenteru. Jen nevím co dělám špatně při odchytávání vyjímky:
Zkrácená ukázka:
model:
presenter:
Tohle je v rychlosti to o co se snažím, ale vyjímku mi vyhodí laděnka a pokud ji vypnu tak hodí 500, zkrátka se v tom presenteru neodchytí.
@petr.jirous o těch eventech jsem už slyšel, ale ještě jsem se nedostal k tomu se na to podívat. Asi na to konečně mrknu :) díky za tip
Editoval kleinpetr (25. 2. 2016 14:44)
- Barvoj
- Člen | 60
petr.jirous napsal(a):
co použít eventy? Mrkni na Kdyby\Events. V modelu pak můžeš volat např. něco takového:
a v presenteru pak takto nastavíš, co se při té události bude dít
Pokud se nepletu, tak to co píšeš umí nette samo o sobě – stačí podědit Nette\Object. Kdyby\Events na to nejsou potřeba.