Events 注册事件不是';fos用户版本1.3.x中的t
我正试图为每个新注册的用户执行几个操作,所以我首先想到的是EVNET。不幸的是,我发现1.3.x版不存在注册事件(其中没有任何称为事件的文件夹)。 这是主版本:Events 注册事件不是';fos用户版本1.3.x中的t,events,fosuserbundle,symfony-2.3,Events,Fosuserbundle,Symfony 2.3,我正试图为每个新注册的用户执行几个操作,所以我首先想到的是EVNET。不幸的是,我发现1.3.x版不存在注册事件(其中没有任何称为事件的文件夹)。 这是主版本: 我应该做的最简单的事情是什么?我认为升级到2.0版本不是一个选项?我也在考虑同样的问题,因为我不想升级,因为SonataAdmin还没有准备好 由于1.3.x版本没有事件,根据您的需要,您可以只扩展控制器并覆盖需要更改的内容,或者如果您想要对表单进行更多控制,您可以创建formType或handler并将其注入FOSUserBundle
我应该做的最简单的事情是什么?我认为升级到2.0版本不是一个选项?我也在考虑同样的问题,因为我不想升级,因为SonataAdmin还没有准备好 由于1.3.x版本没有事件,根据您的需要,您可以只扩展控制器并覆盖需要更改的内容,或者如果您想要对表单进行更多控制,您可以创建formType或handler并将其注入FOSUserBundle:
namespace MyVendor\MyBundle\Form\Handler;
use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseRegistrationFormHandler;
class RegistrationFormHandler extends BaseRegistrationFormHandler
{
protected function createUser()
{
$user = $this->userManager->createUser();
$user->addRole("ROLE_USER_PRO");
$user->setUsername("generate a value here");
$user->setPlainPassword("also a generated value");
return $user;
}
然后告诉FOSUser使用您的特殊处理程序(您必须将上述内容声明为新服务):
fos_user:
registration:
form:
handler: mybundle.registration.form.handler