Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 注册事件不是';fos用户版本1.3.x中的t_Events_Fosuserbundle_Symfony 2.3 - Fatal编程技术网

Events 注册事件不是';fos用户版本1.3.x中的t

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

我正试图为每个新注册的用户执行几个操作,所以我首先想到的是EVNET。不幸的是,我发现1.3.x版不存在注册事件(其中没有任何称为事件的文件夹)。 这是主版本:


我应该做的最简单的事情是什么?

我认为升级到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