Kdy nejpozději sestavit formulář?
- Šaman
- Člen | 2666
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 | 2666
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\Control
automatický vybavený) - ve které budou fungovat snippety (
UI\Form
nemáinvalidateControl
metody) - není třeba se trápit, kam definici sestavení umístit :)