使用ini文件在zend中创建表单

时间:2011-05-16 20:49:52

标签: zend-framework zend-form

我知道Zend_Form从很多开发人员那里得到了很多仇恨,我甚至听说很多人都是从[在这里插入随机php框架名称]切换到ZF的主要关闭,但就在不久之前我发现使用.ini文件创建表单是解决这个问题的方法,也是最好的方法。我没有找到任何有用的信息在谷歌周围搜索,有人能指出我正确的道路吗?

非常感谢。

2 个答案:

答案 0 :(得分:3)

创建ini文件,例如。 (我们将在本例中使用forms.ini)

[制作]

user.login.elements.LastName.type = "text"
user.login.elements.LastName.options.label = "Last Name:" 

(保存到../ configs / forms.ini)

在引导程序中,你需要初始化它,如下所示:

  $forms = new Zend_Config_Ini(APPLICATION_PATH . '/configs/forms.ini', 'production');
  Zend_Registry::set('forms', $forms);

然后在你的控制器中你称之为

        $forms = Zend_Registry::get('forms');
        $form = new Zend_Form($forms->user->login);
        $this->view->form = $form;

在您的视图中,您可以使用

显示它
<?php echo $this->form ;?> 

或者如果您尝试从登录集中只访问一个表单元素,则可以执行类似这样的操作

<?php echo $this->form->LastName ;?>

希望这就是你要找的东西

答案 1 :(得分:1)

检查一下。它在本页的官方手册中说明: http://framework.zend.com/manual/1.12/en/zend.form.quickstart.html

向下滚动到“使用Zend_Config对象”一节。你有一些例子。

如文档中所述,Zend_Config工厂将提取描述表单的.ini文件。之后,您可以使用Zend_Config实例构建Zend_Form。

$config = new Zend_Config_Ini($configFile, 'development');
$form   = new Zend_Form($config->user->login);