Yii进行身份验证,当它不在对象上下文中时使用它

时间:2015-10-19 14:26:36

标签: php yii login

我在更改服务器后登录时收到此错误。

  

致命错误:不在对象上下文中时使用$ this

在accountController.php中:

$model->attributes=$_POST['Account'];
if ($model->validate() && $model->login()) {
    ...
}

在account.php中

public $email;
public $password;
private $_identity;
.....
public static function authenticate()
{
    $this->_identity = new UserIdentity(
        $this->email,
        $this->password
    );
}

_indentity,电子邮件和密码不在对象上下文中,怎么可能?

1 个答案:

答案 0 :(得分:2)

您不能在静态方法中使用$this。静态方法不在对象上运行,它们只是一个名为类的函数。

也许您的功能不应该标记为静态?

或者你的$_identity可能是静态的。在这种情况下,您可以通过myClass::$_identity

访问它