您的位置:首页 > 其它

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

2016-02-04 14:43 399 查看
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事件发生在数据库更新操作的实体数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: