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