这是我的代码SessionManager.php
:
private function generateAuthToken($user)
{
$bits = '';
$fp = @fopen('/dev/urandom', 'rb');
if ($fp !== false) {
$bits .= @fread($fp, 128);
@fclose($fp);
}
return sha1($bits . time() . microtime() . $user->getUsername());
}
我收到此错误:
致命错误:在第 49 行的 /home/shwetanka/src/Practo/PvrBundle/Manager/SessionManager.php 中的非对象上调用成员函数 getUsername()
当我在var_dump($user);
问题行之前做的时候,我正在打印完整的用户对象。我无法理解这个错误的原因。该函数存在于 User 类中。即使我尝试调用该类的任何其他函数,即使那样我也会得到该函数的相同错误。我是 php 新手,很难调试这个问题。
$user 也是 User 实体的对象。我正在使用 symfony2,这个对象是通过使用这个返回给我的:
$ur = $this->getDoctrine()->getRepository('PractoPvrBundle:User');
$user = $ur->findBy(array('email' => $email));