2012-02-20 48 views
13

Tôi cần đặt cờ vào một số kernel.event_listener ở giai đoạn kernel.controller để thực hiện điều gì đó trong một danh sách kernel.response -listener.Thêm thông số yêu cầu để yêu cầu

Tôi nghĩ về việc thêm một tham số cho đối tượng $request, tuy nhiên đã không tìm thấy bất kỳ phương pháp hay này:

http://api.symfony.com/2.0/Symfony/Component/HttpFoundation/Request.html

gì là thực hành tốt nhất để vượt qua một số informatino từ một -listener kernel.controller một kernel.response -người nghe?

Sử dụng hợp cụ thể:

  • Chúng tôi muốn thiết lập một cookie dựa trên một xác nhận của một thuộc tính yêu cầu cụ thể (phải nằm trong kernel.controller -stage, vì dựa trên kết quả của việc xác thực, quan điểm có thể cư xử khác nhau).
  • Cookie chỉ có thể được đặt trong số kernel.response -listener, vì nó có số Response -instance.
+0

Đừng nhận được câu hỏi của bạn. Tại sao bạn không thể chỉ sử dụng một đối tượng đơn giản sẽ lưu trữ các cookie mà bạn sẽ cần gửi trước khi phản hồi được gửi? – meze

+0

Thx, tôi đã cập nhật câu hỏi để làm rõ hơn. – Chris

Trả lời

29

Bạn có thể sử dụng $request->attributes để chuyển đổi thông tin. Trong điều khiển người nghe của bạn:

$request->attributes->set('mykey', 'myvalue'); 

trong người nghe trả lời của bạn:

$myvalue = $request->attributes->get('mykey'); 
Các vấn đề liên quan