Symfony中的公式重复

时间:2016-09-06 09:50:07

标签: php forms symfony

我尝试用symfony进行心理测试。 我有28个问题,28个答案。

我从YAML文件中获取问题。 我创建了一个Form类,以及一个调用Form类的控制器。 一切似乎都有效,但我认为我的解决方案是蹩脚的。 你可以告诉我你的意见吗?

<?php
namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Yaml\Exception\ParseException;
use Symfony\Component\Yaml\Yaml;

class PfsFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
    try {
        $questions = Yaml::parse(file_get_contents('../web/bundles/framework/yml/quetions.yml'));
    } catch (ParseException $e) {
        printf("Unable to find YML file,%s", $e->getMessage());
    }

    for ($i=1;$i<=28;$i++){

    $builder
        ->add(
            'Answer'.$i,
            ChoiceType::class,
            array(
                'label'=>$questions['Questions'][$i-1],
                'choices' => array(
                    'A - Trifft voll zu' => 4,
                    'B' => 3,
                    'C' => 2,
                    'D' => 1,
                    'C - Trifft nicht zu ' => 0
                )

            )
        );

        }

}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
        array(
            'data_class' => 'AppBundle\Entity\PfsForm'
        )
    );
}
}

现在是实体:

<?php
namespace AppBundle\Entity;

class PfsForm
 {
private $answer1;
private $answer2;
private $answer3;
private $answer4;
private $answer5;
private $answer6;
private $answer7;
private $answer8;
private $answer9;
private $answer10;
private $answer11;
private $answer12;
private $answer13;
private $answer14;
private $answer15;
private $answer16;
private $answer17;
private $answer18;
private $answer19;
private $answer20;
private $answer21;
private $answer22;
private $answer23;
private $answer24;
private $answer25;
private $answer26;
private $answer27;
private $answer28;

/**
 * @return mixed
 */
public function getAnswer1()
{
    return $this->answer1;
}

/**
 * @param mixed $answer1
 */
public function setAnswer1($answer1)
{
    $this->answer1 = $answer1;
}

/**
 * @return mixed
 */
public function getAnswer2()
{
    return $this->answer2;
}

/**
 * @param mixed $answer2
 */
public function setAnswer2($answer2)
{
    $this->answer2 = $answer2;
}

/**
 * @return mixed
 */
public function getAnswer3()
{
    return $this->answer3;
}

/**
 * @param mixed $answer3
 */
public function setAnswer3($answer3)
{
    $this->answer3 = $answer3;
}

/**
 * @return mixed
 */
public function getAnswer4()
{
    return $this->answer4;
}

/**
 * @param mixed $answer4
 */
public function setAnswer4($answer4)
{
    $this->answer4 = $answer4;
}

/**
 * @return mixed
 */
public function getAnswer5()
{
    return $this->answer5;
}

/**
 * @param mixed $answer5
 */
public function setAnswer5($answer5)
{
    $this->answer5 = $answer5;
}

/**
 * @return mixed
 */
public function getAnswer6()
{
    return $this->answer6;
}

/**
 * @param mixed $answer6
 */
public function setAnswer6($answer6)
{
    $this->answer6 = $answer6;
}

/**
 * @return mixed
 */
public function getAnswer7()
{
    return $this->answer7;
}

/**
 * @param mixed $answer7
 */
public function setAnswer7($answer7)
{
    $this->answer7 = $answer7;
}

/**
 * @return mixed
 */
public function getAnswer8()
{
    return $this->answer8;
}

/**
 * @param mixed $answer8
 */
public function setAnswer8($answer8)
{
    $this->answer8 = $answer8;
}

/**
 * @return mixed
 */
public function getAnswer9()
{
    return $this->answer9;
}

/**
 * @param mixed $answer9
 */
public function setAnswer9($answer9)
{
    $this->answer9 = $answer9;
}

/**
 * @return mixed
 */
public function getAnswer10()
{
    return $this->answer10;
}

/**
 * @param mixed $answer10
 */
public function setAnswer10($answer10)
{
    $this->answer10 = $answer10;
}

/**
 * @return mixed
 */
public function getAnswer11()
{
    return $this->answer11;
}

/**
 * @param mixed $answer11
 */
public function setAnswer11($answer11)
{
    $this->answer11 = $answer11;
}

/**
 * @return mixed
 */
public function getAnswer12()
{
    return $this->answer12;
}

/**
 * @param mixed $answer12
 */
public function setAnswer12($answer12)
{
    $this->answer12 = $answer12;
}

/**
 * @return mixed
 */
public function getAnswer13()
{
    return $this->answer13;
}

/**
 * @param mixed $answer13
 */
public function setAnswer13($answer13)
{
    $this->answer13 = $answer13;
}

/**
 * @return mixed
 */
public function getAnswer14()
{
    return $this->answer14;
}

/**
 * @param mixed $answer14
 */
public function setAnswer14($answer14)
{
    $this->answer14 = $answer14;
}

/**
 * @return mixed
 */
public function getAnswer15()
{
    return $this->answer15;
}

/**
 * @param mixed $answer15
 */
public function setAnswer15($answer15)
{
    $this->answer15 = $answer15;
}

/**
 * @return mixed
 */
public function getAnswer16()
{
    return $this->answer16;
}

/**
 * @param mixed $answer16
 */
public function setAnswer16($answer16)
{
    $this->answer16 = $answer16;
}

/**
 * @return mixed
 */
public function getAnswer17()
{
    return $this->answer17;
}

/**
 * @param mixed $answer17
 */
public function setAnswer17($answer17)
{
    $this->answer17 = $answer17;
}

/**
 * @return mixed
 */
public function getAnswer18()
{
    return $this->answer18;
}

/**
 * @param mixed $answer18
 */
public function setAnswer18($answer18)
{
    $this->answer18 = $answer18;
}

/**
 * @return mixed
 */
public function getAnswer19()
{
    return $this->answer19;
}

/**
 * @param mixed $answer19
 */
public function setAnswer19($answer19)
{
    $this->answer19 = $answer19;
}

/**
 * @return mixed
 */
public function getAnswer20()
{
    return $this->answer20;
}

/**
 * @param mixed $answer20
 */
public function setAnswer20($answer20)
{
    $this->answer20 = $answer20;
}

/**
 * @return mixed
 */
public function getAnswer21()
{
    return $this->answer21;
}

/**
 * @param mixed $answer21
 */
public function setAnswer21($answer21)
{
    $this->answer21 = $answer21;
}

/**
 * @return mixed
 */
public function getAnswer22()
{
    return $this->answer22;
}

/**
 * @param mixed $answer22
 */
public function setAnswer22($answer22)
{
    $this->answer22 = $answer22;
}

/**
 * @return mixed
 */
public function getAnswer23()
{
    return $this->answer23;
}

/**
 * @param mixed $answer23
 */
public function setAnswer23($answer23)
{
    $this->answer23 = $answer23;
}

/**
 * @return mixed
 */
public function getAnswer24()
{
    return $this->answer24;
}

/**
 * @param mixed $answer24
 */
public function setAnswer24($answer24)
{
    $this->answer24 = $answer24;
}

/**
 * @return mixed
 */
public function getAnswer25()
{
    return $this->answer25;
}

/**
 * @param mixed $answer25
 */
public function setAnswer25($answer25)
{
    $this->answer25 = $answer25;
}

/**
 * @return mixed
 */
public function getAnswer26()
{
    return $this->answer26;
}

/**
 * @param mixed $answer26
 */
public function setAnswer26($answer26)
{
    $this->answer26 = $answer26;
}

/**
 * @return mixed
 */
public function getAnswer27()
{
    return $this->answer27;
}

/**
 * @param mixed $answer27
 */
public function setAnswer27($answer27)
{
    $this->answer27 = $answer27;
}

/**
 * @return mixed
 */
public function getAnswer28()
{
    return $this->answer28;
}

/**
 * @param mixed $answer28
 */
public function setAnswer28($answer28)
{
    $this->answer28 = $answer28;
}



}

最后是控制器:

有人有一个提示如何建立实体而没有答案1 - 答案28?      

 namespace AppBundle\Controller;

 use AppBundle\Entity\PfsForm;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use AppBundle\Form\PfsFormType;
 use Symfony\Component\BrowserKit\Response;
 use Symfony\Component\Yaml\Exception\ParseException;
 use Symfony\Component\Yaml\Yaml;

 class IndexController extends Controller
    {
        public function startAction()
       {
    try{
        $questions = Yaml::parse(file_get_contents('../web/bundles/framework/yml/quetions.yml'));
    }catch(ParseException $e){
        printf("Unable to find YML file,%s",$e->getMessage());
    }

    $pfsForm =  new PfsForm();


        $formN = $this->createForm(PfsFormType::class, $pfsForm);



    return $this->render(
       'index.html.twig',array(
            'form' => $formN->createView()

       )
   );
}
}

感谢您的帮助

米莎

0 个答案:

没有答案