Upravené chování @persistent parametru

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

V appce mám upraveno chování předávání parametrů do akcí atd. aby se mě rovnou předávaly entity z doctriny a přemýšlím zda by takto šly upravit i persistentní parametry?

Upravil jsem si metodz loadState a saveState kde ten persistentní parametr konvertuju na entitu a pak zpět zase na skalár. Je to správné místo kde chování nette pozměnit?

Editoval akadlec (21. 5. 2015 21:46)

enumag
Člen | 2118
+
0
-

Osobně tohle řeším ještě mnohem dříve, konkrétně v Application::createInitialRequest() ten request předhodím službě která si přes reflexi proskenuje presentery a komponenty, zjistí type hinty / nebo @var a @param anotace a pak naloaduje objekty.

Tím však neříkám že tvůj způsob je špatně.

Editoval enumag (21. 5. 2015 22:23)

akadlec
Člen | 1326
+
0
-

A řešíš tam překlad ze skaláru na entitu a pak zpět?

enumag
Člen | 2118
+
0
-

Vlastně ze skaláru na libovolný typ – pokud presenter chce boolean, dostane boolean.

Zpětně to dělám pomocí hacknuté Route a ještě tak že do odkazu stačí dát ID, ne celá entita – ledaže entitu používá FILTER_OUT, pak je nutná.

Editoval enumag (22. 5. 2015 9:46)

Petr Hudík
Člen | 49
+
0
-

@akadlec napsal(a):

V appce mám upraveno chování předávání parametrů do akcí atd. aby se mě rovnou předávaly entity

Wow – to zní hustě – nemáš náhodou nějakou ukázku jak toho dosáhnout? ;-)

David Kudera
Člen | 455
+
+3
-

@PetrHudík můžeš kouknout na Zenify/DoctrineMethodsHydrator . Tam je to ale jen pro action*, render* a handle* metody

akadlec
Člen | 1326
+
0
-

@PetrHudík můžeš se podívat na trait co k tomu používám