功能和变量问题

时间:2015-03-30 13:46:48

标签: php

我遇到了问题..当我执行此代码时:

public function korisnici(){
    $modelk = new Korisnici();
    $upit = $modelk::find()->asArray()->orderBy('id DESC')->all();
    $items = [];
    foreach ($upit as $key => $value) {
        foreach ($value as $kljuc => $vrijednost){
            $items[] = [$kljuc => $vrijednost];
        }
    }
    return $items;
}

private static $users = $this->korisnici();

它给了我这个错误:语法错误,意外' $ this' (T_VARIABLE)..

有人可以帮助我,我该如何调用此功能?

这是全班同学:

class User extends \yii\base\Object implements \yii\web\IdentityInterface
{
public $id;
public $username;
public $password;
public $authKey;
public $accessToken;
public $arr;

public function korisnici(){
    $modelk = new Korisnici();
    $upit = $modelk::find()->asArray()->orderBy('id DESC')->all();
    $items = [];
    foreach ($upit as $key => $value) {
        foreach ($value as $kljuc => $vrijednost){
            $items[] = [$kljuc => $vrijednost];
        }
    }
    return $items;
}

public $users = $this->korisnici();

/**
 * @inheritdoc
 */
public static function findIdentity($id)
{
    return isset(self::$users[$id]) ? new static(self::$users[$id]) : null;
}

/**
 * @inheritdoc
 */
public static function findIdentityByAccessToken($token, $type = null)
{
    foreach (self::$users as $user) {
        if ($user['accessToken'] === $token) {
            return new static($user);
        }
    }

    return null;
}

/**
 * Finds user by username
 *
 * @param  string      $username
 * @return static|null
 */
public static function findByUsername($username)
{
    foreach (self::$users as $user) {
        if (strcasecmp($user['username'], $username) === 0) {
            return new static($user);
        }
    }

    return null;
}

/**
 * @inheritdoc
 */
public function getId()
{
    return $this->id;
}

/**
 * @inheritdoc
 */
public function getAuthKey()
{
    return $this->authKey;
}

/**
 * @inheritdoc
 */
public function validateAuthKey($authKey)
{
    return $this->authKey === $authKey;
}

/**
 * Validates password
 *
 * @param  string  $password password to validate
 * @return boolean if password provided is valid for current user
 */
public function validatePassword($password)
{
    return $this->password === $password;
}

}

我试图从Yii Framework更改此默认模型,以便我可以使用数据库登录...

1 个答案:

答案 0 :(得分:0)

看起来你已经从一个类中复制了它。以下将像常规功能一样工作。仍不确定从

获取$modelk = new Korisnici();的位置
function korisnici(){
    $modelk = new Korisnici();
    $upit = $modelk::find()->asArray()->orderBy('id DESC')->all();
    $items = [];
    foreach ($upit as $key => $value) {
        foreach ($value as $kljuc => $vrijednost){
            $items[] = [$kljuc => $vrijednost];
        }
    }
    return $items;
}

print_r(korisnici());
编辑:看完全班后:

您需要使用__construct方法。

public function __construct()
{
 $this->users = $this->korisnici();
}