我正在考虑在我的网站上创建一个类似于表单模板系统的东西。
举个例子,假设我希望用户能够创建表单模板(类似于Wufoo,他们可以定义任意数量的输入,等等)。然后,从这些创建的模板中,任何人都可以使用这些模板,填写这些模板,从而创建许多表单实例(对于每个用户定义的模板,这都是可能的)。此外,创建的模板和实例的数量也没有限制。
纯粹从服务器/持久性的角度来看,创建这样的系统的最佳方式是什么?我是否需要为每个创建的模板创建一个新的数据库表,然后将表单实例作为记录插入到表中?这个规模会有多大?
发布于 2010-08-20 00:27:09
这个话题非常宽泛。至于可伸缩性,Wufoo (和其他表单创建网站)目前正在工作。所以简单的回答是,它已经在做了,所以可伸缩性不应该是一个问题。然而,随机生成多个表将很快失去控制。
如果您还没有遇到这个问题,我将首先使用单个表和主键的UUID构建系统。这使得它们在以后可以移动。然后,如果表的大小成了问题,您可以根据自己的喜好拆分表。例如,您可以在a_forms表中包含姓氏以A开头的所有自定义。
至于表的结构,您可以将它们构建为一对多。一个表单可以有多个元素。这些元素都可以是预定义的(即文本、文本区、单选按钮、复选框、提交按钮等)当有人构建表单时,您可以serialize()表单元素并将其保存在表中。当需要呈现表单时,您可以unserialize()、解析元素并构建表单。
https://stackoverflow.com/questions/3523516
复制相似问题