Có thể với symfony2 để xác định nhiều mẫu url cho một Action Controller đơn sử dụng các biểu thức chính quy, vì vậy chúng ta không phải xác định một số quy tắc? Cảm ơn trướcsymfony2 sử dụng nhiều mẫu url cho một Action Controller đơn sử dụng biểu thức chính quy
Trả lời
Bạn có nghĩa là trình giữ chỗ có yêu cầu không?
blog:
pattern: /blog/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
page: \d+
Ở đây bạn có nhiều tuyến đường được xác định bởi trình giữ chỗ, được xác thực bằng cụm từ thông dụng sẽ thực hiện cùng một hành động điều khiển.
Chỉnh sửa:
Mỗi phần của url có thể là trình giữ chỗ.
blog:
pattern: /{type}/{page}
defaults: { _controller: AcmeBlogBundle:Blog:index, page: 1 }
requirements:
type: blog|articles
page: \d+
Khi sử dụng chú thích, bạn có thể xác định nhiều tuyến đường. Như thế:
/**
* @Route ("item1")
* @Route ("item/2")
* @Method("GET")
*/
public function itemAction() {
}
Tôi đang sử dụng phiên bản 2.0.9
Điều đó thực sự thú vị, tôi thích ý tưởng có các định tuyến liên quan được định nghĩa ngay trước một _Action_, nhưng tôi muốn giữ mọi thứ chỉ trong một _routing.yml_ thay vì truyền bá các quy tắc định tuyến của tôi trong tất cả các bộ điều khiển của mình – svassr
Như bạn có thể có app/console open, đừng quên router: debug command để xem tất cả các route của bạn. Nếu bạn sử dụng chú thích, bạn sẽ nhận được tên hợp lý cho tuyến đường của mình theo mặc định, do đó, thực sự rất dễ dàng để tìm bộ điều khiển. – cvaldemar
Không thể giữ tất cả các tuyến trong một tệp khi bạn sử dụng nhiều gói (khi bạn bao gồm các tuyến dưới dạng tài nguyên trong ứng dụng chính 'routing.yml'), vì vậy đây không thực sự là một đối số cho định tuyến. Chú thích rất dễ sử dụng, dễ dàng gỡ lỗi ('router: debug') và có thể cấu hình (bạn có thể đặt tên riêng của bạn ví dụ:' @Route ("/", name = "homepage") '). – Wirone
Chú thích ví dụ cho các tuyến với các thông số:
/**
* @Route("/shops/{page}", name="shops")
* @Route("/shops/town/{town}/{page}", name="shops_town")
* @Route("/shops/department/{department}/{page}", name="shops_department")
*/
public function shopsAction(Town $town = null, Department $department = null, $page = 1)
{ ... }
Sau đó, tạo ra tuyến đường trong cành lá như thế này:
{{ path('shops_town') }}
hoặc
{{ path('shops_town', {'town': town.id}) }}
hoặc
{{ path('shops_department', {'department': department.id}) }}
- 1. JFormattedTextField sử dụng định dạng biểu thức chính quy?
- 2. cách sử dụng Servlet đơn với mẫu url khác nhau?
- 3. BeautifulSoup không thể tìm thấy href trong tập tin sử dụng biểu thức chính quy
- 4. Python sử dụng kết quả của hàm cho Thay đổi Biểu thức Chính quy
- 5. Sử dụng biểu thức chính quy trong htaccess cho 301 chuyển hướng
- 6. Biểu thức chính quy javascript đơn giản cho số dải
- 7. Cách sử dụng Mẫu biểu thức
- 8. Biểu thức chính quy cho kho git
- 9. tách một chuỗi có thoát khỏi chuỗi sử dụng biểu thức chính quy trong Java
- 10. Vấn đề biểu thức chính quy đơn giản (Regex) (.net)
- 11. Làm thế nào để loại bỏ văn bản trong ngoặc đơn sử dụng một biểu thức chính quy
- 12. Biểu thức chính quy Javascript nhiều đối sánh
- 13. Lỗi "biểu thức chính dự kiến" trên phương thức mẫu sử dụng
- 14. Biểu thức chính quy Javascript "Ký tự không gian đơn"
- 15. Biểu thức chính quy JavaScript
- 16. Tạo Route Url để MVC controller action từ WebAPI
- 17. Sử dụng biểu thức boolean để quy định tại khoản
- 18. Cách gửi biểu mẫu cụ thể nếu có nhiều biểu mẫu trong một trang bằng cách sử dụng jquery
- 19. Knockout-Validation Sử dụng biểu thức chính quy để xác nhận số điện thoại
- 20. Biểu thức chính quy Javascript để xác thực URL
- 21. trận đấu trên nhiều dòng perl biểu thức chính quy
- 22. Chương trình treo biểu thức chính quy (sử dụng CPU 100%)
- 23. Đơn giản hóa biểu thức chính quy trong Mathematica
- 24. xác nhận địa chỉ email sử dụng biểu thức chính quy trên trang dao cạo
- 25. Cụm từ thông dụng để tìm biểu thức chính quy?
- 26. Clojure multiline biểu thức chính quy
- 27. Làm thế nào để phát hiện một số dấu chấm động sử dụng một biểu thức chính quy
- 28. xác nhận Email sử dụng biểu thức chính quy trong JSF 2/PrimeFaces
- 29. Có sử dụng Biểu thức chính quy nhanh hơn IndexOf không?
- 30. Làm cách nào để sử dụng biến trong biểu thức chính quy?
câu trả lời @svassr cập nhật – ilanco
gì nếu tôi muốn có loại omittable? Ví dụ, làm thế nào bạn sẽ xác định một lộ trình cho: '/ posts/sport/2',' posts/sport', 'posts/2'. Vì vậy, các tuyến đường chung là: '/ posts/{category}/{page}', nhưng - rõ ràng - nó không chỉ hoạt động với các giá trị mặc định. Có cách nào để nói với symfony làm thế nào để nhận ra nếu param thứ hai là string/int? –