ob娱乐下载Symfony框架事件

编辑该页面

警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。

这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。

ob娱乐下载Symfony框架事件

当Symfony框ob娱乐下载架(或任何使用HttpKernel)处理一个请求,一些核心事件派遣,这样您就可以在整个过程中添加侦听器。这些被称为“内核事件”。更大的解释,请参阅HttpKernel组件

内核事件

每个事件派遣由内核的一个子类KernelEvent。这就意味着每个事件获取以下信息:

getRequestType ()
返回类型的请求(HttpKernelInterface: MASTER_REQUESTHttpKernelInterface: 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

事件类:FilterControllerEvent

这个事件可以是一个入口点用来修改控制器应该执行:

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

事件类:FilterResponseEvent

这次活动的目的是让其他系统修改或替换响应对象创建后:

1 2 3 4 5 6
公共函数onKernelResponse(FilterResponseEvent美元事件){美元响应=美元事件- >getResponse ();/ /……修改响应对象}

FrameworkBundle寄存器几个听众:

ProfilerListener
收集数据为当前请求。
WebDebugToolbarListener
注入Web调试工具栏。
ResponseListener
修复的响应内容类型基于请求的格式。
EsiListener
添加一个Surrogate-Control需要解析HTTP头当响应为ESI标签。

另请参阅

阅读更多的kernel.response事件

这些都是内置的Symfony这个事件侦听器注册ob娱乐下载:

kernel.finish_request

事件类:FinishRequestEvent

这次活动的目的是让你重置后应用程序的全局和环境状态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

事件类:PostResponseEvent

这个活动的目的是为了执行任务后反应已经给客户端。

另请参阅

阅读更多的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年
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。