Trong ứng dụng Symfony2 của tôi, tôi muốn làm cho bốn url có thể với một tuyến đường:Routing trong Symfony2: tham số tùy chọn en Bốn url cho một tuyến đường
- a-lot-of-khác-stuff/báo cáo/- 20 (số âm)
- a-lot-of-khác-stuff/báo cáo/40 (số dương)
- a-lot-of-khác-stuff/báo cáo/(không số)
- a-lot- of-khác-stuff/báo cáo (không có số và không có /)
tuyến đường của tôi hiện trông như thế này:
report:
pattern: /report/{days}
defaults: { _controller: "AppReportBundle:Report:dayReport", days = null }
Hành vi được định nghĩa là:
này hiện đang tạo url 1 và 2 hoạt động nhưng trong trường hợp url 3 và 4, tôi gặp lỗi
Tuyến đường không được tìm thấy
Làm cách nào để đặt tham số "ngày"?
Và nếu thông số không được cung cấp, làm thế nào tôi có thể cho phép /
cũng bị bỏ qua?
Đó là rất lạ. Vì tuyến đường thứ 4 nên hoạt động. Tôi thường sử dụng các tham số tùy chọn nhưng tôi sử dụng định nghĩa Tuyến đường chú thích. Tôi không nên xác định mặc định trong chú thích nếu tôi xác định giá trị mặc định trong chữ ký hàm. Có lẽ bạn cần phải bỏ qua một trong các khai báo mặc định (ví dụ trong routing.yml của bạn) hoặc cố gắng sử dụng giá trị số (hoặc chuỗi/bool) thay vì null. Có lẽ nó sẽ giúp. –
Cấu hình tuyến đường của bạn phải là: 'mặc định: {_controller:" AppReportBundle: Báo cáo: dayReport ", days: null}' – jkucharovic