jjzjj

php - Symfony2 : How to persist a new User in an admin-interface with FOSUserBundle?

coder 2024-05-03 原文

我正在创建管理 View ,我可以在其中列出用户并创建用户。 我已经创建了 User 类,但我不确定如何保留它。

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

我已经使用正常保存进行了保存,但随后执行了验证。

我想知道我是否需要手动编码密码等,或者 FOSUserBundle 会为我做这些。

最佳答案

我假设您不打算使用 ...

  • 默认/register route/method对于新用户
  • 控制台 command : app/console fos:user:create testuser test@example.com p@ssword

...正如您所说的管理(网络)界面。


回答:

ContainerAware 类(即 Controller )中 ...

...您可以重新使用默认注册表单并禁用验证:

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

关于php - Symfony2 : How to persist a new User in an admin-interface with FOSUserBundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031535/

有关php - Symfony2 : How to persist a new User in an admin-interface with FOSUserBundle?的更多相关文章

随机推荐