Symfony1 symfony-sfGuardPlugin错误调用plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php中非对象上的成员函数getId()

Symfony1 symfony-sfGuardPlugin错误调用plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php中非对象上的成员函数getId(),symfony1,Symfony1,我正在尝试使用symfony 1.4(推进)安装sfGuard插件。 我想知道如何安装它,它工作得很好(我能够注册、登录和注销) 但是,一旦我再次清除缓存,我将无法登录,并出现以下错误: PHP致命错误:对中的非对象调用成员函数getId() plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php在线 81,推荐人: 我不确定我做错了什么,但不知何故,我无法让它再次发挥作用。我尝试卸载并重新安装插件。但同样的错误 根据文档,我已修

我正在尝试使用symfony 1.4(推进)安装sfGuard插件。 我想知道如何安装它,它工作得很好(我能够注册、登录和注销)

但是,一旦我再次清除缓存,我将无法登录,并出现以下错误:

PHP致命错误:对中的非对象调用成员函数getId() plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php在线 81,推荐人:

我不确定我做错了什么,但不知何故,我无法让它再次发挥作用。我尝试卸载并重新安装插件。但同样的错误

根据文档,我已修改了我的app.ymlsettings.ymlrouting.yml。我还修改了
apps/myapp/lib/myUser.class.php
以从sfGuardSecurityUser扩展

表单提交进入文件
plugins/sfGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php
,并在
form->isValid
$this->getUser()->sign($values['user',…)
函数调用后失败

我验证了
$values['user']
是否具有表单中的正确值。signIn函数依次调用:
$this->setAttribute('user_id',$user->getId(),'sfGuardSecurityUser')
这就是它无法将
$user
作为对象获取的地方,它仍然是我在表单中传递的“用户名”

感谢您的帮助。 谢谢

我验证了$values['user']具有表单中的正确值

您认为正确的值应该是什么?听起来好像您创建了自己的表单,并希望
user
字段是用户名,而实际上它希望
user
是一个类似以下的数组:

$user = Array (
   'username' => 'Username value from form',
   'password' => 'password value from form'
}
本质上,您的表单应该如下所示:

<form>
  <input type="text" id="user" name="user[username]" />
  <input type="password" id="password" name="user[password]" />
</form>


经过一些调试并从头开始,看起来我在重写默认的sfGuardFormSignin.class.php时出了差错,这使得$user类无效,因此对它的任何函数调用都失败了。

不,我没有创建自己的表单,我正在使用插件附带的sfGuardFormSignin。我提到的代码(如果失败,$values['user']也是插件的一部分,我没有修改它