zend \ form我应该在工厂内设置类

时间:2014-05-02 17:28:38

标签: php oop zend-framework2 zend-form

在我的表单模型中,我有这个:

class UpdateForm extends Form {
    public function __construct($name = null) {
        parent::__construct('updateForm');

        $this->setAttribute('method','post');  

        $this->add(array(
            'name' => 'response',
            'attributes' => array(
                'type' => 'textarea',
            ),
            'options' => array(
                'label' => 'Response',
            ),
        ));...

在我看来,我这样做:

$form->get('response')->setAttributes(array(
        'class' => 'form-control',
        'placeholder' => '--- Enter your response here ---'
    ));

我发现只需执行以下操作即可在Form模型中设置特定表单输入的类:

$this->add(array(
    'name' => 'response',
    'attributes' => array(
        'type' => 'textarea',
        'class' => 'fart',
    ),...

但现在我想知道这是否明智。我应该在视图中执行此操作还是重要(假设我尝试遵循MVC最佳实践)

1 个答案:

答案 0 :(得分:1)

这两个选项都有效。

我不确定哪一个最适合MVC方法,但这就是我的工作。如果我在团队中工作,如果其他人正在处理应用程序的设计,我将在视图中添加这些CSS类。因此,设计师可以在他/她想要的时候改变它们。

如果我最有可能与开发人员合作,我会在模型中分配CSS类。并在视图中留下注释,指出分配类的文件的位置。

希望得到这个帮助。