事件
编辑本页事件
EasyAdmin触发几个ob娱乐下载Symfony的事件在它的请求执行期间,因此您可以侦听这些事件并运行您自己的逻辑。
事件在3.0之前的EasyAdmin版本中很有用,因为后端是用YAML配置文件而不是PHP代码定义的。从EasyAdmin 3.0开始,一切都是用PHP定义的。这就是为什么更容易自定义后端行为重载PHP类和方法并调用自己的服务。但是,事件仍然保留,以防您想要使用它们。
所有事件都使用对象触发,而不是使用定义为字符串的事件名称(从Symfony 4.3开始推荐使用)。ob娱乐下载它们定义在EasyCorp
名称空间:
与教义实体相关的事件:
AfterEntityBuiltEvent
AfterEntityDeletedEvent
AfterEntityPersistedEvent
AfterEntityUpdatedEvent
BeforeEntityDeletedEvent
BeforeEntityPersistedEvent
BeforeEntityUpdatedEvent
与资源管理相关的事件:
AfterCrudActionEvent
BeforeCrudActionEvent
事件订阅者示例
属性。下面的示例显示如何使用事件订阅器设置鼻涕虫
的属性博客
在持久化它之前:
12 34 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 31 32 33 34 35
# src / EventSubscriber / EasyAdminSubscriber.php名称空间应用程序\EventSubscriber;使用应用程序\实体\博客;使用EasyCorp\包\EasyAdminBundle\事件\BeforeEntityPersistedEvent;使用ob娱乐下载\组件\EventDispatcher\EventSubscriberInterface;类EasyAdminSubscriber实现了EventSubscriberInterface{私人$重击者;公共函数__construct($重击者){$这->棒球强击手=$重击者;}公共静态函数getSubscribedEvents(){返回[BeforeEntityPersistedEvent::Class => [“setBlogPostSlug”]];}公共函数setBlogPostSlug(BeforeEntityPersistedEvent$事件){$实体=$事件->getEntityInstance ();如果(!($实体运算符BlogPost)) {返回;}$鼻涕虫=$这->重击者->slugify ($实体->getTitle ());$实体->setSlug ($鼻涕虫);}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。