2010-08-29 138 views
0

有没有与建筑应用程序类似的任何提示wufoo.com?我正在构建一个应用程序,登录的用户以类似的方式创建表单...我想知道的是,如果zend,symfony或yii最适合这样做?动态生成表格/从模型生成的动态表单/表单

我会在这里收集提示,以便其他人更容易看到。该框架

优势,可以帮助这一点:

  • Symfony的有学说(但形式是通过运行一个脚本部署?)
  • Zend公司有它的形式和窗体 集成(也许集成 教条是可能的吗?)
  • Zend有form_decorators,但他们有很高的学习门槛。
  • Yii有它的形式建设者和良好的PDO数据库连接

,或是否有简化“对飞表单生成”任何其他框架?

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

回答

1

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

,你会怎么做呢symfony中,虽然“弯曲”的框架位:

  1. 创建表单(姓名等),一张桌子和一张桌子formfields(类型,名称,必需)
  2. 使用configure()方法创建sfForm类,该方法为给定表单添加字段,并将表单字段添加到$this->widgetSchema,验证器添加到$this->validatorSchame
  3. 转到:)

这有点不是什么形式的框架是为(以这种方式动态字段),但我已经成功地使用它的一些项目。

关于Codacula提到的Javascript:我不认为有什么问题中提到了Javascript的用法。它是 可能有些Javascript会进入这个,但它不是我认为的问题的一部分。

2

我想不出任何专门针对动态生成表单的问题。这看起来大多像是一个基于Javascript的风险投资,所以你最终可能最终也会使用基于Javascript的笨重系统。另外,表单生成并不像使用框架那样容易,尤其对于那些不会使用特定框架的人来说。很多框架都会在隐藏字段中添加或以某种方式命名字段。我敢打赌,它会让更多的人头疼,试图用一个预先制定的框架为普通大众提供一些东西,而不是用自己的解决方案。

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

2

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

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

当然,使用这个更好,然后将自己的表格生成起来。据我所知Zend_Db和Zend_Form之间没有接口,但你可以写很多接口。 Zend非常灵活,你可以做你想做的事情。

也许其他框架更好,因为我不知道。

+0

谢谢。我还没有看过form_element_decorators,但它看起来很有前途。现在我正在Yii工作,这里有从数组中渲染表单的体面方法(其中可能会从数据库中获取这些方法)。 – Mikelangelo 2010-08-30 14:23:14