symfony2中运行周期内执行的回调函数

来源:互联网 发布:linux signal 编辑:程序博客网 时间:2024/06/07 10:12
1.类似于tp中的钩子函数。
2.用法详解
有时,在插入、更新或删除某个实体之前或之后,您需要执行一个动作。这种行为被称为“生命周期”的回调,他们回调方法,你需要执行过程中的一个实体的生命周期的不同阶段(如实体插入,更新,删除等)。
如果你使用注释你的元数据,使生命周期回调的开始。如果你使用YAML或XML映射这是没有必要的。
1.开头通常写:
/**
 * @ORM\Entity()
 * @ORM\HasLifecycleCallbacks()
 */
class Product{
// ...
}
2.结尾通常写  
    /**
     * @ORM\PrePersist
     */
    public function beforeInsert()
    {
        $this->status = 0;
        $this->createTime = new \DateTime();
    }
3.总结
preremove事件发生时,对于一个给定的实体在各自的EntityManager删除操作执行的实体。

postremove事件发生后一个实体的实体已被删除。它将在数据库删除操作之后调用它。

prepersist事件发生时,对于一个给定的实体在各自的EntityManager坚持实体执行的操作。应该指出的是,这一事件只会引发一个实体的初始坚持(即它不会触发对未来的更新)。

preupdate事件发生在数据库更新操作的实体数据。
1 0
原创粉丝点击