Guest User

Untitled

a guest
Aug 14th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. Create a form as a service in Symfony2
  2. $regsiter = $this->get('register_manager');
  3. return $this->render(
  4. 'AcmeUserBundle:Account:register.html.twig',
  5. array(
  6. 'form' => $regsiter->getRegistrationForm(),
  7. )
  8. );
  9.  
  10. <form>
  11. {{ form_widget(form) }}
  12. </form>
  13.  
  14. parameters:
  15. register_manager.class: AcmeUserBundleManagerRegisterManager
  16.  
  17. services:
  18. register_manager:
  19. class: %register_manager.class%
  20. arguments: [@form.factory]
  21.  
  22. namespace AcmeUserBundleManager;
  23.  
  24. use AcmeUserBundleFormTypeRegistrationType;
  25. use SymfonyComponentFormFormFactoryInterface;
  26.  
  27. class RegisterManager
  28. {
  29.  
  30. protected $formFactory;
  31.  
  32. public function __construct(FormFactoryInterface $formFactory)
  33. {
  34. $this->formFactory = $formFactory;
  35. }
  36.  
  37.  
  38. public function getRegistrationForm()
  39. {
  40. return $this->formFactory->createBuilder(new RegistrationType());
  41. }
  42. }
  43.  
  44. namespace AcmeUserBundleFormType;
  45.  
  46. use SymfonyComponentFormAbstractType;
  47. use SymfonyComponentFormFormBuilder;
  48.  
  49. class RegistrationType extends AbstractType
  50. {
  51. public function buildForm(FormBuilder $builder, array $options)
  52. {
  53. $builder->add('username','text');
  54. $builder->add('email','email');
  55. $builder->add('password','password');
  56. }
  57.  
  58. public function getDefaultOptions(array $options)
  59. {
  60. return array(
  61. 'data_class' => 'AcmeUserBundleEntityUser',
  62. );
  63. }
  64.  
  65. public function getName()
  66. {
  67. return 'registration';
  68. }
  69. }
Add Comment
Please, Sign In to add comment