模板设计/架构

时间:2010-08-19 15:41:49

标签: php mysql templates architecture

我正在寻找在我的网站上创建类似于表单模板系统的东西。

作为一个例子,假设我希望用户能够创建表单模板(类似于Wufoo,他们可以定义任意数量的输入等)。然后,从这些创建的模板中,任何人都可以使用这些模板,填充它们,从而创建许多表单实例(这对于每个用户定义的模板都是可能的)。此外,创建的模板和实例数量也没有限制。

纯粹从服务器/持久性的角度来看,创建这样的系统的最佳方法是什么?我是否需要为每个创建的模板创建一个新的数据库表,然后将表单实例作为记录插入表中?这种规模有多好?

1 个答案:

答案 0 :(得分:0)

这个主题非常广泛。至于可扩展性,Wufoo(和其他表单创建网站)目前正在工作。所以简单的回答是,它已经完成,因此可扩展性不应成为问题。但是,多个表的随机生成将很快失控。

如果您没有遇到此问题,我将首先使用单个表和主键的UUID构建系统。这使得它们可以在以后移动。然后,如果表格大小成为问题,您可以根据需要拆分表格。例如,您可以在a_forms表格中拥有姓氏以A开头的所有客户。

至于表的结构,你可以将它们构建为ONE-TO-MANY。一种形式可以有许多元素。元素都可以预定义(即文本,文本区域,单选按钮,复选框,提交按钮等)。当有人构建表单时,您可以serialize()表单元素并将其保存在表格中。当需要呈现表单时,您unserialize(),解析元素并构建表单。