Có thể nhận được loại yêu cầu trong bộ điều khiển không? Làm sao?Làm thế nào để nhận được loại yêu cầu (chủ/phụ) trong bộ điều khiển Symfony2?
Trả lời
Để phát hiện xem yêu cầu có phải là bản chính hay không yêu cầu sử dụng số RequestStack
, cần được đưa vào bộ điều khiển của bạn. Ngăn yêu cầu có 3 phương thức hữu ích
getCurrentRequest();
getMasterRequest();
getParentRequest();
getParentRequest()
sẽ luôn trả về null nếu yêu cầu hiện tại là chính.
dễ dàng, chỉ cần gọi phương thức trên đối tượng getMethod()
Request
của bạn:
$method = $this->get('request')->getMethod();
này sẽ trở lại với phương pháp HTTP yêu cầu hiện tại, ví dụ GET
, POST
, PUT
hoặc DELETE
.
Tôi đang tìm kiếm điều này, và có vẻ như nó chỉ được truyền đi, vì vậy dường như không có một nơi nào biết được nó là gì.
Suy nghĩ của tôi để giải quyết điều này sẽ là tạo một trình nghe đơn giản kernel.request chỉ thêm thuộc tính vào yêu cầu. Thô (chưa được kiểm tra) mã bên dưới:
public function onKernelRequest(GetResponseEvent $event)
{
$event->getRequest()->attributes->set('_request_type', $event->getRequestType());
}
Sau đó, trong bộ điều khiển bạn sẽ có thể làm:
$requestType = $this->getRequest()->attributes->get('_request_type');
Một lần nữa đây là chưa được kiểm tra. Bạn sẽ cần phải viết ra các lớp nghe đầy đủ và thêm nó vào tập tin cấu hình dịch vụ, nhưng khác hơn là tôi nghĩ rằng điều này sẽ làm việc.
- 1. Làm cách nào để nhận giá trị yêu cầu trong bộ điều khiển?
- 2. before_filter trong bộ điều khiển ứng dụng chỉ nhận được yêu cầu
- 3. Constructor trong Bộ điều khiển Symfony2
- 4. chuyển dữ liệu từ bộ điều khiển đến Loại symfony2
- 5. Bộ điều khiển lò xo nhận được yêu cầu/phản hồi
- 6. Làm cách nào để nhận được JSON trong symfony2
- 7. Xác định yêu cầu ajax hoặc yêu cầu trình duyệt trong bộ điều khiển grails
- 8. Twig Symfony2 được yêu cầu biến
- 9. Symfony2: gửi yêu cầu HTTP
- 10. Yêu cầu đá quý ruby trong bộ điều khiển ray
- 11. Bộ điều khiển nhà máy nhận được yêu cầu cho "favicon.ico"
- 12. Nhận url yêu cầu đầy đủ, bao gồm các tham số trong bộ điều khiển
- 13. Làm thế nào để nắm bắt các yêu cầu XMLHTTP trong điều khiển Webbrowser?
- 14. Cách gửi yêu cầu đến "j_spring_security_check" từ bộ điều khiển
- 15. Tạo yêu cầu gửi http từ bộ điều khiển
- 16. Yêu cầu ghi đè đè lên bộ điều khiển SpringMVC
- 17. Cách truy cập bộ điều khiển khác từ bên trong bộ điều khiển Symfony2
- 18. Làm thế nào để sử dụng UISearchDisplayController từ bộ điều khiển trong bộ điều khiển UITabBar?
- 19. Làm thế nào để nhận được loại MIME của một tập tin được yêu cầu trong ASP.NET C#?
- 20. Symfony2 và tiếp cận DRY trong bộ điều khiển
- 21. Umbraco 4.11.3 - Yêu cầu hiện tại về loại bộ điều khiển là mơ hồ
- 22. Xử lý lỗi trong Ajax trong bộ điều khiển Symfony2
- 23. Làm thế nào để cho phép một bộ điều khiển mà không đặt chú thích trên mỗi bộ điều khiển?
- 24. Làm thế nào để bạn nhận được địa chỉ IP của khách hàng trong bộ điều khiển Grails?
- 25. Truy cập trường chưa được ánh xạ trong Bộ điều khiển Symfony2
- 26. Làm thế nào để gọi điều khiển hành động trong bộ điều khiển khác trong CakePHP?
- 27. Làm thế nào để loại bỏ auth khỏi bộ điều khiển trang trong CakePHP?
- 28. Làm thế nào để chấp nhận các tham số ngày trong một yêu cầu GET đến bộ điều khiển Spring MVC?
- 29. Làm thế nào để nhận được thông số yêu cầu "GET" trong JavaScript?
- 30. Symfony2 Templating mà không yêu cầu
Không. Ý tôi là: là yêu cầu chính hoặc yêu cầu phụ này? – Koc
Ah ok, xin lỗi về điều đó. Trong trường hợp đó, bạn sẽ phải móc vào sự kiện 'kernel.request' và kiểm tra xem' $ event-> getRequestType() 'có bằng' HttpKernelInterface :: MASTER_REQUEST' hoặc 'HttpKernelInterface :: SUB_REQUEST' hay không. – igorw
@ strongw, bạn nên cập nhật cho bạn bài đăng với câu trả lời bạn đã đưa ra trong nhận xét của bạn để nhận xét đó có thể được upvoted. Mọi người không upvote một câu trả lời không trả lời câu hỏi. – Quentin