如何从Component包中覆盖类?

时间:2012-06-09 18:29:28

标签: php symfony

我正在使用Symfony 2和FOSUserBundle编写应用程序。我想允许多个用户注册相同的名称并使用电子邮件来识别它们。我为此编辑了用户管理器,将loadUserByUsername转换为findUserByEmail()的包装器。这个破坏的TokenBasedRememberMeServices使用getUsername()来生成记住我的令牌。我怎样才能用自己的类替换那个类,以免每次更新FW框架版本时都强迫自己黑客入侵symfony文件?

1 个答案:

答案 0 :(得分:5)

我找到了一种方法:

Symfony bundle将类名存储在其配置文件params中。您可以通过在config.yml中添加以下行来覆盖这些参数:

# Parameters override
parameters:
    security.authentication.rememberme.services.simplehash.class: MyVendor\UserBundle\RememberMe\TokenBasedRememberMeServices