在哪里放置Zend_Forms,Controller?模型?别的地方?

时间:2010-09-02 13:27:47

标签: zend-framework forms model zend-form

最好放置用于构建Zend_Forms的代码?

我曾经把这个逻辑放在我的控制器中,但在我需要在不同的地方使用相同的表格之后,我就离开了。这意味着我必须在不同的控制器中复制表单的创建。

所以我将表单创建代码移动到了我的模型中。这看起来是否合适,对我有用。或者是否有我遗失的东西,他们实际上应该去别的地方?

1 个答案:

答案 0 :(得分:5)

我通常将表单构建代码放在单独的文件中,每个表单一个文件 另外,我配置Resource Autoloader,以便我可以在控制器中加载表单。

应用/表格/ login.php中

<?php
class Form_Login extends Zend_Form
{
    public function init()
    {
        $this->addElement('text', 'username', array(
            'filters'    => array('StringTrim', 'StringToLower'),
            'required'   => true,
            'label'      => 'Username:',
        ));

        $this->addElement('password', 'password', array(
            'filters'    => array('StringTrim'),
            'required'   => true,
            'label'      => 'Password:',
        ));

        $this->addElement('submit', 'login', array(
            'ignore'   => true,
            'label'    => 'Submit',
        ));
    }
}

在我的控制器中:

$loginForm = new Form_Login();