0

用户.php(模型):

...
public function hashPassword($password){
    $hashed = hash('sha256', $password . self::HASH_CODE);
    return $hashed;
}
...

用户身份.php

...
else if($user->password!==Users::hashPassword($this->password))
...

错误:

Non-static method Users::hashPassword() should not be called statically, assuming $this from incompatible context
4

3 回答 3

1

您需要将其定义hashPassword()为静态函数才能调用它Users::hashPassword()

public static function hashPassword($password) {
    ...

否则,您可以创建Users该类的实例并以非静态方式调用它:

$users = new Users();
$users->hashPassword($password);

严格yii来说,您可以使用以下方式调用它(取决于您的设置):

Yii::app()->Users->hashPassword($password);
于 2012-11-01T03:35:46.447 回答
1
else if($user->password!==Users::model()->hashPassword($this->password))

这不是静态方法

于 2012-11-01T03:36:11.407 回答
1

制作函数static

public static function hashPassword($password){
    $hashed = hash('sha256', $password . self::HASH_CODE);
    return $hashed; }
于 2012-11-01T03:37:07.630 回答