Nefunkční iterátor u formuláře
- _Martin_
- Generous Backer | 679
Ahoj,
u formuláře je ošklivý bug, když jej budu iterovat (viz. kód), tak mi
vypisuje úplně jiné věci.
foreach($form as $name => $component) {
Debug::dump($name);
Debug::dump($component);
}
Iterování přes $form->components
funguje správně.
Možná tedy nejde o bug???, ale v dokumentaci je toto iterování takto
uvedeno a osobně bych čekal, že tam být má – nebo se něco změnilo?
- David Grudl
- Nette Core | 8229
FormContainer neimplementuje IteratorAggregate, takže iterování nad objektem je standardním iterováním nad jeho proměnnýma.
Přidat IteratorAggregate?
- Jakub Lédl
- Člen | 55
Přidat IteratorAggregate?
Proč? Dělám teda hlavně v .NETu a C#, ale zdá se mi logicky nesmyslné iterovat nad formulářem, pokud chci získat jeho komponenty. Iterovat přímo nad jeho komponentami, to je mnohem lepší :-)
- _Martin_
- Generous Backer | 679
Jakub Lédl napsal(a):
Přidat IteratorAggregate?
Proč? Dělám teda hlavně v .NETu a C#, ale zdá se mi logicky nesmyslné iterovat nad formulářem, pokud chci získat jeho komponenty. Iterovat přímo nad jeho komponentami, to je mnohem lepší :-)
Asi máš pravdu – také kvůli tomu, že lze iterovat nad
$form->components
a $form->controls
. Takže to
spíš opravit v dokumentaci.