编程语言
首页 > 编程语言> > PHP-Symfony2:如何使用FOSUserBundle在管理界面中保留新用户?

PHP-Symfony2:如何使用FOSUserBundle在管理界面中保留新用户?

作者:互联网

我正在创建管理员视图,可以在其中列出用户并创建用户.
我已经创建了User类,但是我不确定如何持久化它.

我需要手动创建表单然后将其保留吗?

我已经使用常规保存进行保存,但是随后执行了验证.

我想知道是否需要手动编码密码等,否则FOSUserBundle将为我完成此操作.

解决方法:

我认为您不打算使用…

>新用户的默认/ register route/method
>控制台command:应用程序/控制台fos:user:create testuser test@example.com p @ ssword

…在谈论管理(网络)界面时.

回答:

在ContainerAware类(即控制器)中…

…您可以重新使用默认的注册表格并禁用验证:

$user = new User();
$this->createForm(
    $this->get('fos_user.registration.form.type'),
    $user,
    array(
       'validation_groups' => false,
    )
);

以下是手动创建新用户并将其持久保存到数据库的方法:

$om      = $this->container->get('doctrine.orm.entity_manager');     
$manager = $this->container->get('fos_user.user_manager');

$user = $manager->createUser();

$user
    ->setUsername('nifr')
    ->setEmail('dont@spam.me')
    ->setPlainPassword('Insecure123')
    ->setEnabled(true)
;

$om->persist($user);
$om->flush();

标签:symfony,fosuserbundle,php
来源: https://codeday.me/bug/20191029/1963091.html