class ManageController extends Controller
{
public function actionMailchangepass()
{
$this->layout = false;
$time = Yii::$app->request->get("timestamp");
$adminuser = Yii::$app->request->get("adminuser");
$token = Yii::$app->request->get("token");
$model = new Admin;
$myToken = $model->createToken($adminuser, $time);
if ($token != $myToken) {
$this->redirect(['public/login']);
Yii::$app->end();
}
if (time() - $time > 300) {
$this->redirect(['public/login']);
Yii::$app->end();
}
if (Yii::$app->request->isPost) {
$post = Yii::$app->request->post();
if ($model->changePass($post)) {
Yii::$app->session->setFlash('info', '密码修改成功');
}
}
$model->adminuser = $adminuser;
return $this->render("mailchangepass", ['model' => $model]);
}
}
Yii::$app->end($status = 0, $response = null)
表示终止程序;默认的表示正常终止,状态默认为0;其它状态均异常;
redirect不能终止程序 必须使用return 或者 Yii::$app->end(); 终止程序
这是注释。意思就是end()为确保程序的生命周期的完成。
看到源码是这么写,exit 终止执行,楼上的都是正确 也可以换成: die; return;
public function end($status=0,$exit=true)
上一句已经跳转到其他页面了,想知道如果没有这一句会发生什么
学习了,原来是相当于exit()。终止程序执行。