为什么我的对象在数组中?

时间:2016-09-30 21:45:28

标签: php oop

我正在做codecourse php oop login/register tutorial并遇到了一些麻烦。我遇到的问题是:

    $user = new User();
    $login = $user->login(Input::get('username'), Input::get('password'));

这些有条件地在验证传递时运行,它会执行,因为它不返回任何错误。我想尽可能简单,并且不要认为我需要包含太多代码,因为我认为我已经缩小了问题范围。

这是我的用户类中用于登录功能的代码

    public function login($username = null, $password = null) {
    $user = $this->find($username);
    print_r($this->_data);


    if($user) {
        if ($this->data()->password === Hash::make($password, $this->data()->salt)) {
            echo 'OK!';
        } else {
            echo '<br>';
            echo 'This data password:';
            var_dump($this->data()->password);

        }
    }

    return false;
}

我知道正在检索我的数据,因为我在($ this-&gt; data)上运行print_r并返回用户的正确信息。因此,虽然我的数据正在被检索,但我认为这是导致我的错误的原因。这是我无法登录后的print_r的结果

    Array ( [0] => stdClass Object ( 
[id] => 32 
[email] => xxx 
[fname] => xxx 
[lname] => xxx 
[username] => user 
[password] => 295c7ac2341f2688838148728d450a5562933d5fbea6d2a9e9fec2eeab29dd84 
[salt] => 4ÌxÇd”0ð&ÞðÈßr¡–k$  «%•¦S?~d$r 
[name] => xxx 
[joined] => 2016-09-28 07:10:32 
[grouptype] => 1 ) ) 

我的$ user-&gt;登录方法不起作用的原因是因为用户不是对象,而是在找到semi working version of the code后对象的数组(或者至少是我假设的那个) (登录不起作用,寄存器不起作用),在没有

的情况下返回相同的数据
Array ( [0] => stdClass Object

而只是简单地

stdClass Object ( [id] => 

为什么我的对象在数组内?

0 个答案:

没有答案