Symfony欧宝娱乐app下载地址 4.3中的新功能:更简单的事件分派

哈维尔·埃吉鲁兹的化身
@Ksaveras这个变化不会是一个“突破性的变化”。欧宝娱乐app下载地址Symfony 4.3将在内部进行所需的更改,以便您的代码在不更改的情况下继续工作,并将触发弃用通知(要升级到2019年11月发布的Symfony 5.0,您需要更改参数顺序)。

如果您开发一些需要同时支持这两种方法的包,您可以使用本文中解释的LegacyEventDispatcherProxy类。
Michael COULLERET的化身
Mickaël布尔吉尔的化身
这是否意味着我们必须通过事件来创建一个类?

我通常创建一个事件类由实体与多个常量不同的事件(例如MyEntityEvent:: create, MyEntityEvent::EDIT)
按事件划分一个类(例如MyEntityCreatedEvent, MyEntityEdited)会不会成为一个不好的实践?
我不希望这样,因为那样会有很多代码需要复制……
艾迪·莫德里奇的化身
在哪个版本的Symfony中将移除Le欧宝娱乐app下载地址gacyEventDispatcherProxy ?5.0还是6.0?
哈维尔·埃吉鲁兹的化身
@Mickaël您可以继续使用任意字符串作为事件名称。唯一的变化是参数顺序改变了(在4。X它将继续工作,但当升级到5.0时,你需要做出改变)。
Mickaël布尔吉尔的化身
@Javier谢谢,我只是想确保这个可选字符串不是临时的,不会在未来的发布中被删除;-)
尼古拉斯·格雷卡斯的化身
在哪个版本的Symfony中将移除Lega欧宝娱乐app下载地址cyEventDispatcherProxy ?5.0还是6.0?

计划在5.1中弃用它,并在6.0中删除它。

>我只是想确保这个可选字符串不是临时的,不会在未来的版本被删除

合法的问题,我确认哈维尔写的:命名事件将保持一级支持
jeremyFreeAgent的化身
最后! !
迭戈·阿吉亚尔的化身
当您有多个相同类型的事件时,您的建议是什么?把他们分成多个班级?
哈维尔·埃吉鲁兹的化身
@Diego,如果使用PHP类的新方法不适合您的情况,您可以继续使用与今天完全相同的代码,使用相同的字符串来命名您的事件。

您需要做的唯一更改是交换dispatch()方法中参数的顺序(但仅在Symfony 5.0中,因为在4.3和4.4中将继续工作)。欧宝娱乐app下载地址
Dawid Spiechowicz的化身
离Laravel又近了一步!好,-)
查尔斯的化身
4.3版本将是非常好的(最好的),我期待着开始使用4.3,因为它将带来我从第一分钟开始需要的东西。

谢谢团队。
查尔斯的化身
我错了这篇文章,我认为有了这个更新,你不必创建两个类,一个命名事件和另一个获取它。我希望有一天你能看到这个。
托马斯·沃特鲁巴的化身
又一个好消息!欧宝app在哪里找

我们在过去的3年里一直使用这种方法,所以我很高兴它能够进入Symfony核心:欧宝娱乐app下载地址
https://pehapkari.cz/blog/2017/07/12/the-bulletproof-event-naming-for-欧宝娱乐app下载地址symfony-event-dispatcher/
曼纽尔·特兰斯菲尔德的化身
会有类似hasListenersForThisKindOfEvent()的东西吗?

评论截止。

为了确保评论保持相关性,旧帖子将被关闭。