当我使用yii \ filters \ auth \ HttpBasicAuth时,
我想自定义public $auth
@var可调用,以便我可以像这样使用它:
$identity = call_user_func($this->auth, $username, $password);
但如何使用下面的代码定义它?
以下代码是此callable的典型实现:
function ($username, $password) {
return \app\models\User::findOne([
'username' => $username,
'password' => $password,
]);
}
为什么我不能像这样定义它(错误报告)
public $auth=function ($username, $password) {
return \app\models\User2::findOne([
'username' => $username,
'password_hash' => $password,
]);
答案 0 :(得分:0)
记得要恰当地命名这个功能。而不是调用变量调用函数,或者如果需要添加功能,则扩展函数
public functionAuth ($username, $password) {
return \app\models\User2::findOne([
'username' => $username,
'password_hash' => $password,
]);
另外,我不建议编辑yii文件,我总是会创建一个新功能来扩展它,然后添加你之后的自定义