Nejasnosť niektorých pojmov
- hwoo
- Člen | 1
Ahoj.
Nette som používal dávnejšie na jeden projekt, teraz sa k nemu vraciam.
Všimol som si, že sa dosť veľa vecí zmenilo, veľa vecí pribudlo, dačo
ubudlo. Najmä mi nie su jasné nasledujúce pojmy, ktoré mi všetky znejú
veľmi podobne.
block
snippet
widget
Bol by som veľmi rád, keby mi ich niekto priblížil, prípadne ma aspoň nasmeroval na nejaký vhodný príspevok.
Potom mám ešte takú všeobecnú otázku k návrhu. Prečo je Presenter tiež komponenta? Nejak mi to tam nesedí, keďže Presenter nerobí to, čo ostatné komponenty. Podľa mňa by mal iba implementovať IComponentContainer a ISignalReceiver.
- redhead
- Člen | 1313
widget renderuje control (tedy vykreslitelnou komponentu)
např.:
{control formular}
{control formular:edit}
je stejne jako
$this->getComponent('formular')->render();
$this->getComponent('formular')->renderEdit();
snippet je pro práci s ajaxem, prostě blok který se bude celý ajaxově překreslovat, pokud je invalidován (změněn).
block zachycuje vnitřek blocku do proměnné
- Ondřej Mirtes
- Člen | 1536
redhead napsal(a):
widget renderuje control (tedy vykreslitelnou komponentu)
např.:{control formular} {control formular:edit}
je stejne jako
$this->getComponent('formular')->render(); $this->getComponent('formular')->renderEdit();
snippet je pro práci s ajaxem, prostě blok který se bude celý ajaxově překreslovat, pokud je invalidován (změněn).
block zachycuje vnitřek blocku do proměnné
Upřesnění:
$presenter->getComponent('formular')->render();
nebo
$presenter['formular']->render();
O snippetech:
https://doc.nette.org/…ication/ajax
https://forum.nette.org/…agie-v-praxi
O {block} a {extends}:
https://doc.nette.org/…late-filters#…
přednáška z Pardubické Poslední Soboty: http://blip.tv/file/2514636
- Honza Marek
- Člen | 1664
redhead napsal(a):
widget renderuje control (tedy vykreslitelnou komponentu)
např.:{control formular} {control formular:edit}
Upřesnění: Formuláře zrovna nejsou potomky třídy
Control
(jen Component). Widget vpodstatě umí renderovat cokoliv,
co má metodu render či renderNěco (např. renderEdit).
- David Grudl
- Nette Core | 8228
hwoo napsal(a):
Potom mám ešte takú všeobecnú otázku k návrhu. Prečo je Presenter tiež komponenta? Nejak mi to tam nesedí, keďže Presenter nerobí to, čo ostatné komponenty. Podľa mňa by mal iba implementovať IComponentContainer a ISignalReceiver.
To je spíš věc terminologie – to, co implementuje IComponent, je komponenta. IComponentContainer je potomkem IComponent, takže pokud presenter implementuje IComponentContainer, tak je také komponenta.