我知道也有类似的帖子,只是为了确认我的理解。
我刚刚开始使用Yii2 PHP。我用过可以登录和注册的dektrium / yii2-user。我想做一个 beforeAction()来检查记录的用户auth.key是否存在于数据库中(XAMPP MYSQL)。下面是我要执行的代码。
//Action direct to json.php.
public function actionJson()
{
return $this->render('json');
}
如果语句true将直接指向页面,否则显示警告错误。
我知道确切的代码是
public function beforeAction($action){}
让我感到困惑的是,我实际上将 beforeAction()放在哪里。
答案 0 :(得分:0)
BeforeAction()
此方法在执行操作之前被调用。
https://www.yiiframework.com/doc/api/2.0/yii-base-controller#beforeAction()-detail
您必须将其放置在登录控制器(LoginController.php)类中。 记住在函数内部调用父对象:
public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
return true; // or false to not run the action
}
然后,来自该控制器的所有动作将使用您自定义的beforeAction函数。