metódy render()

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

Od metódy IFormRenderer::render() sa očakáva, že vráti reťazec vykresleného formulára, na rozdiel od Template::render(), ktorá vypisuje výsledok na výstup. Tiež Form::render() vypisuje a Html::render() vracia.

Z môjho hlbšieho hrania sa s Template sa mi zafixovalo nasledovné:

*::render() → vykresľuje
*::__toString() → vracia string

a tento „fix“ som aplikoval i na vlastné triedy… no ako zisťujem táto funkcionalita je v rámci Nette nejednotná, je to tak zámerne? Alebo mi opäť uniká pointa?

ps>> vďaka za __toString(TRUE) ;)

Editoval kravco (7. 1. 2009 3:01)

David Grudl
Nette Core | 8218
+
0
-

kravco napsal(a):

*::render() → vykresľuje
*::__toString() → vracia string

Takhle mi to taky připadá logické.

Od metódy IFormRenderer::render() sa očakáva, že vráti reťazec vykresleného formulára

Jelikož jde o „interní“ záležitost, není změna chování nijak problematická. Nicméně uvnitř třídy ConventionalRenderer je řada metod renderNeco(), kde by změna vhodná nebyla.

Html::render() vracia.

Ale tady by to mohl být problém… Mám chování změnit? Používá někdo metodu render()?

romansklenar
Člen | 655
+
0
-

*::render() → vykresľuje
*::__toString() → vracia string

Zní to logicky, jsem pro.

kravčo
Člen | 721
+
0
-

David Grudl napsal(a):

kravco napsal(a):

Od metódy IFormRenderer::render() sa očakáva, že vráti reťazec vykresleného formulára

Jelikož jde o „interní“ záležitost, není změna chování nijak problematická. Nicméně uvnitř třídy ConventionalRenderer je řada metod renderNeco(), kde by změna vhodná nebyla.

Mne išlo hlavne o IFormRenderer::render(). To ako pomenúva svoje metódy ConventionalRenderer je iná vec, každopádne názvoslovie v rámci API by malo byť konzistentné…

aj keď je to interné, pre ľudí s vlastnými renderermi to BC break bude…

Editoval kravco (9. 1. 2009 23:44)

David Grudl
Nette Core | 8218
+
0
-

Zatím do toho nebudu šahat. Ve formulářích je potřeba pořešit víc věcí, takže pak bych do vzal všechno najednou.

David Grudl
Nette Core | 8218
+
0
-

Docela rád bych znovuotevřel tohle téma. Co myslíte, sjednotit chování metod render() ?