ob娱乐下载Symfony框架事件
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
ob娱乐下载Symfony框架事件
当Symfony框ob娱乐下载架(或任何使用HttpKernel)处理一个请求,一些核心事件派遣,这样您就可以在整个过程中添加侦听器。这些被称为“内核事件”。更大的解释,请参阅HttpKernel组件。
内核事件
每个事件派遣由内核的一个子类KernelEvent。这就意味着每个事件获取以下信息:
- getRequestType ()
-
返回类型的请求(
HttpKernelInterface: MASTER_REQUEST
或HttpKernelInterface: SUB_REQUEST
)。 - getKernel ()
- 返回内核处理请求。
- getRequest ()
-
返回当前
请求
被处理。
kernel.request
事件类:GetResponseEvent
这事件是派遣在Symfony的早期,在控制器决定。ob娱乐下载
另请参阅
阅读更多的kernel.request事件。
这些都是内置的Symfony这个事件侦听器注册ob娱乐下载:
侦听器类名 | 优先级 |
---|---|
ProfilerListener | 1024年 |
TestSessionListener | 192年 |
SessionListener | 128年 |
RouterListener | 32 |
LocaleListener | 16 |
防火墙 | 8 |
kernel.controller
这个事件可以是一个入口点用来修改控制器应该执行:
1 2 3 4 5 6 7 8 9 10
使用ob娱乐下载\组件\HttpKernel\事件\FilterControllerEvent;公共函数onKernelController(FilterControllerEvent美元事件){美元控制器=美元事件- >getController ();/ /……/ /控制器可以改变任何PHP调用美元事件- >setController (美元控制器);}
另请参阅
阅读更多的kernel.controller事件。
这是内置的Symfony侦听器与这个事件有ob娱乐下载关:
侦听器类名 | 优先级 |
---|---|
RequestDataCollector | 0 |
kernel.view
事件类:GetResponseForControllerResultEvent
这个事件不是FrameworkBundle所使用的,但它可以用来实现子系统。这个事件被称为只有如果控制器不返回一个响应
对象。活动的目的是让其他返回值被转换成一个响应
。
控制器可以通过返回的值getControllerResult
方法:
1 2 3 4 5 6 7 8 9 10 11 12
使用ob娱乐下载\组件\HttpKernel\事件\GetResponseForControllerResultEvent;使用ob娱乐下载\组件\HttpFoundation\响应;公共函数onKernelView(GetResponseForControllerResultEvent美元事件){美元瓦尔=美元事件- >getControllerResult ();美元响应=新反应();/ /……自定义返回值的响应美元事件- >setResponse (美元响应);}
另请参阅
阅读更多的kernel.view事件。
kernel.response
这次活动的目的是让其他系统修改或替换响应
对象创建后:
1 2 3 4 5 6
公共函数onKernelResponse(FilterResponseEvent美元事件){美元响应=美元事件- >getResponse ();/ /……修改响应对象}
FrameworkBundle寄存器几个听众:
- ProfilerListener
- 收集数据为当前请求。
- WebDebugToolbarListener
- 注入Web调试工具栏。
- ResponseListener
-
修复的响应
内容类型
基于请求的格式。 - EsiListener
-
添加一个
Surrogate-Control
需要解析HTTP头当响应为ESI标签。
另请参阅
阅读更多的kernel.response事件。
这些都是内置的Symfony这个事件侦听器注册ob娱乐下载:
侦听器类名 | 优先级 |
---|---|
EsiListener | 0 |
ResponseListener | 0 |
ResponseListener | 0 |
ProfilerListener | -100年 |
TestSessionListener | -128年 |
WebDebugToolbarListener | -128年 |
StreamedResponseListener | -1024年 |
kernel.finish_request
这次活动的目的是让你重置后应用程序的全局和环境状态sub-request完成(例如,译者侦听器重置译者的语言环境的一个父请求):
1 2 3 4 5 6 7 8 9
公共函数onKernelFinishRequest(FinishRequestEvent美元事件){如果(零= = =美元parentRequest=美元这- >requestStack- >getParentRequest ()) {返回;}/ /重置的地区subrequest父请求的区域设置美元这- >setLocale (美元parentRequest);}
这些都是内置的Symfony听众与这个事件有关ob娱乐下载:
侦听器类名 | 优先级 |
---|---|
LocaleListener | 0 |
TranslatorListener | 0 |
RouterListener | 0 |
防火墙 | 0 |
kernel.terminate
这个活动的目的是为了执行任务后反应已经给客户端。
另请参阅
阅读更多的kernel.terminate事件。
这是内置的Symfony侦听器与这个事件有ob娱乐下载关:
侦听器类名 | 优先级 |
---|---|
EmailSenderListener | 0 |
kernel.exception
事件类:GetResponseForExceptionEvent
TwigBundle注册一个ExceptionListener远期的请求
对于一个给定的控制器定义的exception_listener.controller
参数。
对这个事件侦听器可以创建并设置一个响应
对象,创建并设置一个新的异常
对象,或者什么都不做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
使用ob娱乐下载\组件\HttpKernel\事件\GetResponseForExceptionEvent;使用ob娱乐下载\组件\HttpFoundation\响应;公共函数onKernelException(GetResponseForExceptionEvent美元事件){美元异常=美元事件- >getException ();美元响应=新反应();/ /设置基于捕获异常的响应对象美元事件- >setResponse (美元响应);/ /可以另外设置一个新的例外/ /美元异常= new \异常(一些特殊例外);/ /事件- > setException美元($除外);}
请注意
Symob娱乐下载fony确保响应状态代码设置为最合适的一个根据例外,设置状态的响应不能工作。如果你想覆盖状态代码(你不应该没有一个很好的理由),设置X-Status-Code
标题:
1 2 3 4 5 6 7
美元响应=新响应(“错误”,404年,/ /这个状态码将被忽略数组(“X-Status-Code”= >200年/ /这个状态码会被发送到客户端));
另请参阅
阅读更多的kernel.exception事件。
这些都是内置的Symfony这个事件侦听器注册ob娱乐下载:
侦听器类名 | 优先级 |
---|---|
ProfilerListener | 0 |
ExceptionListener | -128年 |