gpt4 book ai didi

yii2 - yii2 中 afterSave 和事件之间的区别?

转载 作者:行者123 更新时间:2023-12-01 00:47:46 24 4
gpt4 key购买 nike

我想在新用户注册时向管理员发送电子邮件。我想我可以用两种方法来做到这一点。一种方法是使用事件,另一种方法是使用 afterSave。
通过使用事件
Controller 代码

 public function actionCreate()
{
$model = new Registeration();

if ($model->load(Yii::$app->request->post()))
{
if($model->save())
{
$model->trigger(Registeration::EVENT_NEW_USER);
}
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}

型号代码
const EVENT_NEW_USER = 'new-user'; 
public function init(){

$this->on(self::EVENT_NEW_USER, [$this, 'sendMail']);

}

public function sendMail($event){
// code
}

我可以使用 afterSave 做同样的事情方法

型号代码
public function afterSave($insert)
{
//code
return parent::afterSave($insert);
}

那么这两种方法有什么区别吗?哪个更好用 EventsafterSave() ?

最佳答案

我是 Yii 的新手,

这取决于您要实现的目标。

当您使用 afterSave 时,电子邮件也会在更新时发送。

因此,事件将是您问题的更好选择。

感谢和问候

保罗·埃利亚斯

关于yii2 - yii2 中 afterSave 和事件之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33210228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com