Kdy nejpozději sestavit formulář?

- Šaman
- Člen | 2668
Mám formulář v samostatné třídě a z určitých důvodů jej nechci sestavovat už v constructoru. Kdy jej mohu sestavit, když sestavování až v render metodě je pozdě?
Potřeboval bych takovýto životní cyklus:
- __construct()
- inject* metody
- sestavení formuláře, asi metoda construct()
- attached() – klidně může nastat i dřív
- render() – ten mám rozdělený na víc částí, ale v předkovi je to prostě render($params)
Editoval Šaman (14. 6. 2013 8:18)

- Šaman
- Člen | 2668
peter.z napsal(a):
A co v
loadState?
Formulář není PresenterComponent, tak metodu loadState ani
nemá. Jinak tuším, že ta se volá jen při zpracování signálu, ale
možná se pletu.
llook napsal(a):
Podle mě ho můžeš sestavit v attached.
Doufám, že ano, ale raději se ptám.
Editoval Šaman (14. 6. 2013 8:31)

- Michal Vyšinský
- Člen | 608
Felix +1, přesně takto to mám taky. Ještě jsem se s žádnými problémy nesetkal

- Vojtěch Dobeš
- Gold Partner | 1316
Eh… doporučuji nedědit UI\Form. Ale dědit
UI\Control, a formulář definovat v klasické továrničce.
Takový formulář je pak stále zapouzdřený jako samostatná
třída, ale:
- může mít vlastní šablonu (kterou už je
UI\Controlautomatický vybavený) - ve které budou fungovat snippety (
UI\FormnemáinvalidateControlmetody) - není třeba se trápit, kam definici sestavení umístit :)