Bonjour à tous,
Je crée un nouveau post car le précédent n'était, à mon sens, pas suffisamment, lisible.
Alors voilà le problème :
Mon appli contient un formulaire dans lequel j'ai imbriqué plusieurs autres (4 en tout). Le dernier installé est un formulaire héritant de celui de base.
En effet, le formulaire Père est un formulaire décrivant des individus. Le dernier formulaire enfant est un formulaire recueillant des infos sur les enfants de ces individus (qui sont des individus - ils proviennent de la même entité). Dans les faits j'ai une relation ManyToMany Sel-referencing et bi directionnelle.
Bref lorsque je lance l'appli, je me retrouve avec l'erreur mentionnée dans la doc de symfony sur les formulaires imbriqués, à savoir :
Suivant les instructions de la doc, je monte le niveau à 200( dans le php.ini) . Rien jusqu'à 1300 et là j'ai une page blanche......... sans erreur.Maximum function nesting level of '100' reached, aborting!.
Du coup, je me dis que je vais désactiver Xdebug. Et là j'ai l'erreur suivante :
Je comprends que la mémoire est épuisé, mais comment cela est arrivé et surtout remédier à ce problème ? En regardant le error_log d'apache, je me suis rendu compte, a priori, que je générais une boucle infinie. Evidemment, cela plante.Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49 bytes) in C:\wamp\www\romSymf\vendor\symfony\symfony\src\Symfony\Component\OptionsResolver\Options.php on line 91
En fin, j'ai remplacé tous form_label et form_widget du fichier Twig, par des form_row (comme expliqué là aussi dans la doc). Mais rien y fait.
Mais comment insérer un formulaire dans un autre identique, sans créer cette boucle?
Je me dis aussi que mon appli est toute bête et relativement simple hormis cette histoire d'imbrication de formulaire sur lui-même.
Je précise que j'avais fais une version de cette Appli, en Php sans aucun framework et tout fonctionnait bien.....
Auriez-vous une solution ou une indication sur la(les) méthode(s) à utiliser pour résoudre le problème.
Cela fait deux jours que je suis là dessus et ne trouve aucune solution.
Partager