The property 'children' is not always accessible or even available because several implementations of other FormBuilders do not have this property. Accessing private properties is never a good idea. Only rely on the given FormBuilderInterface.
@@ -65,12 +65,7 @@ class FormBuilderIterator extends \RecursiveArrayIterator
*/
private static function getKeys(FormBuilderInterface $formBuilder)
{
- if (!self::$reflection) {
- self::$reflection = new \ReflectionProperty(get_class($formBuilder), 'children');
- self::$reflection->setAccessible(true);
- }
-
- return array_keys(self::$reflection->getValue($formBuilder));
+ return array_keys($formBuilder->all());
}
/**