Ich versuche URL mit Twig in meinem Symfony2-Projekt zu generieren. Meine URL nehmen Boolean als Parameter, wenn ich True in den Zweig, es ist Arbeit, aber wenn ich falsch gesetzt, ist ein Fehler werfen.Symfony2 Twig und boolean false
Eine Ausnahme während der Wiedergabe einer Vorlage geworfen wurde ("Parameter "boolean" für Strecke "route_1" Must-match "[^ /] ++"("“ gegeben).
{{ path('route_1', {'id': item.id, 'boolean': false }) }}
ich habe keine Anforderung auf diesen Parameter.
/**
* @Route("route1-{id}/boolean{boolean}", requirements={"id" = "\d+"}, name="route_1")
*/
public function Route1Action($id, $boolean, Request $request) {
//Some stuff
}
Bearbeiten
Also, verwenden Boolean in URL ist schlecht. Ich stelle Nummer und PHP automatisch in Boolean umwandeln. 0 ist falsch und alle anderen Zahlen sind wahr.
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>
http://php.net/manual/en/language.types.boolean.php
Mit diesem Code es Arbeit ist:
Aktion:
/**
* @Route("route1-{id}/boolean{boolean}", requirements={"id" = "\d+", "boolean" = "\d+"}, name="route_1")
*/
public function Route1Action($id, $boolean, Request $request) {
//Some stuff
}
Die URL zu generieren:
{{ path('route_1', {'id': item.id, 'boolean': 0 }) }} //To send false
{{ path('route_1', {'id': item.id, 'boolean': 1 }) }} //To send true (1 or any other numbers)
Th Danke für deine Hilfe. :)
Bitte zeigen Sie Ihre Aktion. – Mattia
versuche mit "false" – MouradK