Symfony2:如何在具有FOSUserBundle的管理界面中保留新用户?

时间:2014-02-26 04:07:16

标签: php symfony fosuserbundle

我正在创建管理员视图,我可以列出用户并创建用户。 我创建了User课程,但我不确定如何坚持它。

我是否需要手动创建表单然后保留它?

我已使用普通保存进行了保存,但随后又进行了验证。

我想知道我需要手动编码密码等,或FOSUserBundle会为我做。

1 个答案:

答案 0 :(得分:4)

我认为你不打算使用......

  • 新用户的默认/register route / method
  • 控制台commandapp/console 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,
    )
);

以下是如何手动创建新的User并将其持久保存到数据库中:

$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();