尝试调用类“Symfony \ Component \ Form \ Extension \ Core \ Type \ FileType”的名为“get_class”的未定义方法

时间:2016-12-05 06:48:44

标签: php doctrine entity symfony-2.8

我正在使用symfony 2.8和php5.4.12

在我的控制器

//controller

public function ajouterAction()
    {
        $article = new Article();
        $formBuilder = $this->createFormBuilder($article);
        $formBuilder
            ->add('titre_article', 'text')
            ->add('contenu_article', 'textarea')
            ->add('fichier_article', FileType::get_class(new FileType()), array('label', 'Fichier PDF'))
            ->add('photo_article', 'text')
            ->add('auteur_article', 'text');
        $form = $formBuilder->getForm();

        $request = $this->get('request');

        if($request->getMethod() == 'POST'){
            $form->bind($request);
            if ($form->isValid()){
                $em = $this->getDoctrine()->getManager();
                $em->persist($article);
                $em->flush();

                return $this->redirect($this->generateUrl('article_index'));
            }

        }

        return $this->render('IntranetBundle:Article:ajouter.html.twig',
            array(
                'form' => $form->createView(),
            ));
    }

在我的实体

/**
 * @var string
 *
 * @ORM\Column(name="fichier_article", type="string", length=50, nullable=true)
 * @Assert\NotBlank(message="Please, upload the product brochure as a PDF file.")
 * @Assert\File(mimeTypes={ "application/pdf" })
 */
private $fichierArticle;

我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是我使用的是不使用这个:: class的php版本,我升级到php 5.5并且它实际上已经修复了。