w mojej aplikacji Symfony2 Chciałbym zrobić cztery adresy możliwe z jednej trasy:Routing w Symfony2: opcjonalny parametr pl czterech adresów URL dla jednej trasy
- a-lot-of-drugiej-stuff/raport/- 20 (liczba ujemna)
- a-lot-of-other-stuff/raport/40 (liczba dodatnia)
- a-lot-of-drugiej-stuff/raport/(bez numeru)
- a-lot- z-innego-stuff/zgłosić (bez numeru i nie /)
Moja trasa aktualnie wygląda tak:
report:
pattern: /report/{days}
defaults: { _controller: "AppReportBundle:Report:dayReport", days = null }
Akcja jest zdefiniowany jako:
ten obecnie powoduje, że adres URL 1 i 2 działa, ale w przypadku adresu URL 3 i 4 pojawia się błąd:
Nie znaleziono trasy
Jak ustawić parametr "dni" jako opcjonalny?
A jeśli parametr nie jest podany, w jaki sposób mogę zezwolić na pominięcie /
?
To bardzo dziwny. Ponieważ 4. trasa powinna działać. Często używam opcjonalnych parametrów, ale używam definicji trasy opisowej. Nie powinienem definiować wartości domyślnych w adnotacji, jeśli zdefiniuję wartość domyślną w podpisie funkcji. Może musisz pominąć jedną z deklaracji domyślnych (na przykład w routingu.yml) lub spróbować użyć wartości numerycznej (lub łańcucha/bool) zamiast wartości null. Może to pomoże. –
Twoja konfiguracja trasy powinna wyglądać następująco: 'defaults: {_controller:" AppReportBundle: Report: dayReport ", dni: null}' – jkucharovic