注册时自动生成的sfGuardUser字段值(Auto-generate field value o

2019-09-27 10:51发布

我构建使用Symfony的1.4项目sfDoctrineGuardPlugin用户/认证。 我有我的一个名为“的access_token”,我想用在用户登记时的自动生成的值来填充用户表中的字段。 我看到登记注册, sfGuardRegisterForm用于验证。 不幸的是,当我运行./symfony doctrine:build-forms在命令行中,这种形式似乎并没有被延长,这意味着我不能没有编辑插件生成一个访问令牌存在。

可替换地,我想修改的sfRequest参数,使得我试图通过这种形式的验证之前手动设置“的access_token”值。 然而,由于我允许用户通过前端应用,以及一个API应用程序注册这两个,这意味着我必须确保我的东西手动在两地这个参数值,这似乎效率不高。 但是,也许这实际上是正确的方式去,并试图修改窗体不理想。

任何输入/建议吗? 有人会做任何事情比我在这里列出的想法有什么不同?

编辑 :我已经创建一个我的公共静态方法sfGuardUser命名模型generateAccessToken ,其返回值。 我只是想弄清楚在我的项目的代码来调用这个的最佳场所。

Answer 1:

sfDoctrineGuardPlugin不提供用户注册功能。 这就是你必须实现它自己。 所以,在你的控制器,你可以填充字段只是它被用symfony做的方式:

class myActions extends sfActions {
    public function executeRegistration(sfWebRequest $request) {
        ...
        $form = new myRegisterForm();
        $form->setDefault('access_token', sfGuardUser::generateAccessToken());
        ...
    }
}

access_token部件应该是一个实例sfWidgetFormInputHidden 。 希望这可以帮助。



文章来源: Auto-generate field value on sfGuardUser when registering