动态表单生成/模型生成的动态表单/表单

时间:2010-08-29 21:04:43

标签: php zend-framework forms symfony1 yii

有没有人建议应用程序类似wufoo.com?我正在构建一个应用程序,登录用户以类似的方式创建表单...我想知道的是,如果zend,symfony或yii最适合这个吗?

我将在这里收集提示,让其他人更容易看到。

框架的优点可以帮助解决这个问题:

  • Symfony有学说(但是通过运行脚本来部署表单?)
  • Zend有其形式和子表单 集成(也许整合 学说是可能的吗?)
  • Zend有form_decorators但他们有很高的学习门槛。
  • yii有自己的表单构建器和良好的PDO数据库连接

还是有其他框架可以简化“动态表单生成”吗?

PS。 djangos解决方案非常有趣,但它需要在php中。

4 个答案:

答案 0 :(得分:2)

我想不出任何特别专注于动态生成表单的内容。这似乎主要是基于Javascript的冒险,所以你最终也可能会使用繁重的基于Javascript的。

此外,表单生成并不像使用框架那样容易,特别是对于那些不使用该特定框架的人。很多框架都会添加隐藏字段或以某种方式命名字段。我愿意打赌,使用预先制作的框架为一般人群制作一些东西会比你提出自己的解决方案更令人头痛。

如果你坚持使用PHP来生成表单,那么我现在就跳过Javascript并提出一个适用于简单HTTP请求的解决方案,然后看一下使用JS框架来生成表单“动态”。

答案 1 :(得分:2)

我不知道其他框架,但我可以说Zend框架。它的Zend_Form类非常强大且灵活。它非常适合这样的项目,但Zend_Element_Decorators有一个陡峭的学习曲线。

使用Zend,您可以使用Zend_Db将有关表单的信息存储在数据库中,并使用它来构建Zend_Form,使用其addElement()函数来创建所需的元素。

肯定使用它比滚动自己的表单生成更好。据我所知,Zend_Db和Zend_Form之间没有接口,但你可以写一个。 Zend非常灵活,你几乎可以做你想做的事。

也许其他框架对于我不知道的更好。

答案 2 :(得分:1)

通常使用symfony我知道这可以使用symfony。您可以通过这种方式动态生成表单。我认为Zend Framework以类似的方式做到这一点,所以这也是一个合适的选择。

你如何在symfony中做到这一点,虽然它有点“弯曲”框架:

  1. 创建一个包含表单(名称等)的表和一个包含表单字段的表(类型,名称,必需)
  2. 使用configure()方法创建一个sfForm类,该方法提取给定表单的字段,并将表单字段添加到$this->widgetSchema,并将验证器添加到$this->validatorSchame
  3. 去:)
  4. 这有点不是表单框架的意思(动态字段以这种方式),但我已经成功地将它用于某些项目。

    关于Codacula提到的Javascript:我认为问题中没有任何内容可以证明提到的Javascript用法。它是 可能有些Javascript会进入此问题,但在我看来,这不是问题的一部分。

答案 3 :(得分:1)

另一个用PHP编写的表单构建器解决方案值得一试http://code.google.com/p/php-form-builder-class/。我在我的网站开发中使用过这个并且会推荐。它似乎编写得很好,为我节省了很多时间来启动和运行项目。