2016-10-14 3 views
-1

Ich aktualisiere meine App von 2,6 direkt auf 2,8. Ich habe die folgende Fehlermeldung auf einer Auswahlform:Symfony 2.6 bis 2.8 Ausgaben

Catchable Fatal Error: Argument 1 passed to xxxxx::__construct() must be an instance of Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceListInterface, instance of Symfony\Component\Form\ChoiceList\LazyChoiceList given

Ich weiß nicht, ob dies auf diese Bemerkung von deprecation verwandt ist:

"Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceListInterface was deprecated and will be removed in Symfony 3.0. You should use Symfony\Component\Form\ChoiceList\ChoiceListInterface instead"

Wenn ich diese wechseln, erhalte ich:

An exception has been thrown during the rendering of a template ("Unable to render the form because the block names array contains duplicates: "_wizard_page_type_blocks_entry_answers_entry_value_row", "entity_row", "entity_row", "choice_row", "form_row".") in form_div_layout.html.twig

Können Sie mir helfen?


EDIT: habe gerade herausgefunden, dass, wenn dies funktionierte (sf 2.6) dieses Argument eine Instanz Symfony\Bridge\Doctrine\Form\ChoiceList\EntityChoiceList war es jetzt (sf 2.7) eine Instanz von Symfony\Component\Form\ChoiceList\LazyChoiceList

+2

Try 2,6-2,7 dann 2,7-2,8 zu aktualisieren (wahrscheinlich Änderung use sein muss). Für jedes Versio-Upgrade gibt es einen speziellen Leitfaden. https://github.com/symfony/symfony/blob/2.7/UPGRADE-2.7.md – felipsmartins

+0

Probieren, jetzt in 2.7 immer noch den gleichen Fehler. Immer noch Fehlerbehebung. – andregoncalves

+0

Hattest du schon Änderungen vor 2.7? Wenn ja, dann vielleicht alles zurück. Symfony tut gut daran, die Abwärtskompatibilität aufrechtzuerhalten. Die 2.8-Form-Komponente ist ein bisschen eine Anomalie, aber selbst dort würde ich erwarten, dass Ihr 2.6-Code funktioniert. Du bist sicher, der Code funktioniert unter 2.6 richtig? – Cerad

Antwort

0

Sie einen Typ ändern sollte für einen Konstruktor Ihrer Klasse Hinting xxxxx

Statt

\Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceListInterface

es ist jetzt

\Symfony\Component\Form\ChoiceList\ChoiceListInterface

+0

Danach bekomme ich eine Ausnahme wurde während des Renderns einer Vorlage geworfen ("Kann das Formular nicht rendern, da das Blocknamen-Array Duplikate enthält:" _wizard_page_row "," entity_row "," entity_row "," choice_row ", "form_row". ") in form_div_layout.html.twig' – andregoncalves

+0

Also überprüfe deine' form_div_layout.html.twig' und entferne duplizierende Blöcke –

Verwandte Themen