Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Create a form as a service in Symfony2
- $regsiter = $this->get('register_manager');
- return $this->render(
- 'AcmeUserBundle:Account:register.html.twig',
- array(
- 'form' => $regsiter->getRegistrationForm(),
- )
- );
- <form>
- {{ form_widget(form) }}
- </form>
- parameters:
- register_manager.class: AcmeUserBundleManagerRegisterManager
- services:
- register_manager:
- class: %register_manager.class%
- arguments: [@form.factory]
- namespace AcmeUserBundleManager;
- use AcmeUserBundleFormTypeRegistrationType;
- use SymfonyComponentFormFormFactoryInterface;
- class RegisterManager
- {
- protected $formFactory;
- public function __construct(FormFactoryInterface $formFactory)
- {
- $this->formFactory = $formFactory;
- }
- public function getRegistrationForm()
- {
- return $this->formFactory->createBuilder(new RegistrationType());
- }
- }
- namespace AcmeUserBundleFormType;
- use SymfonyComponentFormAbstractType;
- use SymfonyComponentFormFormBuilder;
- class RegistrationType extends AbstractType
- {
- public function buildForm(FormBuilder $builder, array $options)
- {
- $builder->add('username','text');
- $builder->add('email','email');
- $builder->add('password','password');
- }
- public function getDefaultOptions(array $options)
- {
- return array(
- 'data_class' => 'AcmeUserBundleEntityUser',
- );
- }
- public function getName()
- {
- return 'registration';
- }
- }
Add Comment
Please, Sign In to add comment