新在Symfoob娱乐下载ny 3.4:订阅事件在微内核中
2017年9月20日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony的版本。ob娱乐下载其中一些信息可能是过时了。阅读最近的Symfony文档ob娱乐下载。
在Syob娱乐下载mfony 2.8中,我们介绍了微核特征提供一个不同的和简单的方法来配置Symfony的完整框架。ob娱乐下载ob娱乐下载Symfony 4日发布2017年11月,将使用这个特性在默认情况下创建新应用程序时。
与此同时,在Symfony ob娱乐下载3.4我们改进了微内核允许订阅事件。你只需要实现EventSubscriberInterface
和添加的方法处理不同的事件。
考虑一个简单的应用程序,想要处理的异常发生在执行。在Syob娱乐下载mfony 3.4你可以微内核听KernelEvents:异常
事件和实现异常处理逻辑内核的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30
/ / src / Kernel.php名称空间应用程序;使用应用程序\异常\DangerException;使用ob娱乐下载\包\FrameworkBundle\内核\MicroKernelTrait;使用ob娱乐下载\组件\EventDispatcher\EventSubscriberInterface;使用ob娱乐下载\组件\HttpKernel\事件\GetResponseForExceptionEvent;使用ob娱乐下载\组件\HttpKernel\内核作为BaseKernel;使用ob娱乐下载\组件\HttpKernel\KernelEvents;类内核扩展BaseKernel实现了EventSubscriberInterface{使用MicroKernelTrait;/ /……公共静态函数getSubscribedEvents(){返回[KernelEvents::异常= >“handleExceptions”];}公共函数handleExceptions(GetResponseForExceptionEvent美元事件){如果(美元事件- >getException ()运算符DangerException) {美元事件- >setResponse(响应::创建(‘它’s危险单独去。把这个⚔”));}/ /……}}
发表在#生活在边缘
评论
也许@Alex岩石Ancelet:类似http://stackphp.com/middlewares/ ?:)
我赞成!我希望这实际上很久…这是我没有完成的事情之一MicroKernelTrait:)。顺便说一句,MicroKernelTrait自动用于Symfony 4 Flex项目……ob娱乐下载所以* *您需要做的就是添加EventSubscriberInterface:)。
Alex Rock is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now