Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

FormFactory is deprecated

$
0
0

Bonjour,

Je suis actuellement un tuto pour developper un blog sous Symfony, je travail sur la version 2.8.
Cependant mon tuto utilise une version ultérieur et à quelques erreur 'depreciated' avec le formulaire.

" Passing type instances to FormBuilder::add(), Form::add() or the FormFactory is deprecated since version 2.8 and will not be supported in 3.0. Use the fully-qualified type class name instead (Blogger\BlogBundle\Form\EnquiryType)."

Mon formulaire marche, mais pour un soucis de faire les choses avec ce qui se fait maintenant, j'aimerais savoir comment je peux modifier mon code pour qu'il ne soit plus déprécié?

Mon controller:

<?php
// src/Blogger/BlogBundle/Controller/PageController.php

namespace Blogger\BlogBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Blogger\BlogBundle\Form\EnquiryType;
use Blogger\BlogBundle\Entity\Enquiry;

class PageController extends Controller
{
    public function indexAction()
    {
        return $this->render('BloggerBlogBundle:Page:index.html.twig');
    }

    public function aboutAction(){
      return $this->render('BloggerBlogBundle:Page:about.html.twig');
    }

    public function contactAction()
    {
        $enquiry = new Enquiry();
        $form = $this->createForm(new EnquiryType(), $enquiry);



        return $this->render('BloggerBlogBundle:Page:contact.html.twig',array(
          'form' => $form->createView()
        ));
    }
}

J'ai utiliser doctrine pour me générer un type de formulaire.

<?php

namespace Blogger\BlogBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class EnquiryType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('name')
        ->add('email', 'email')
        ->add('subject')
        ->add('body', 'textarea')        ;
    }

    public function getName()
    {
        return 'contact';
    }
    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Blogger\BlogBundle\Entity\Enquiry'
        ));
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix()
    {
        return 'blogger_blogbundle_enquiry';
    }


}

Merci pour votre aide :)


Viewing all articles
Browse latest Browse all 1542

Trending Articles