これが私のコードです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));