php – 灵活的表单和支持数据库结构

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 灵活的表单和支持数据库结构脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的任务是创建一个允许管理员改变用户输入表单内容的应用程序(即添加任意字段) – 其内容存储在数据库中.想想Modx / wordpress / ExPression Engine模板变量.

我一直在研究的方法是实现具体表格,其中规范是一致的(即用户简档,用户内容等)和一些通用字段数据表(即文本,布尔值)来存储非特定值.表单(和模型字段)将通过首先查询表并检索相关列来生成 – 尽管我还没有考虑如何设置验证.

我已经看过这个问题了,它似乎表明了一种EAV类型的方法 – 从我的简短研究来看 – 它似乎比它的灵活带来的祝福更大的负担.

在这里读了几篇文章,这表明这是一条危险的路线:

How to design a generic database whose layout may change over time?

Dynamic Database Schema

如果有人愿意,我会对这件事提出一些建议

问候

SWK

解决方法

几年前我创建了一个非常大的EVA数据库(PHP w / Postgresql).结果很棒,但这是一个大项目($$$).所有表单都是完全动态的,包括表单/字段版本控制,发布工作流程,匹配动态报表等.

EVA基础知识很简单.获取数据并不困难.但是形成版本控制和报告……你可以花费数年时间来做正确的事.

如果我今天再次这样做,我会研究使用一种较新的Nosql解决方案(http://en.wikipedia.org/wiki/NoSQL#Document_store).我想创建一个可以传递给表单生成器的DTO样式类. “修改”表单实际上是修改DTO.然后我会将DTO保存到文档/对象数据库中.

此外,在构建alpha解决方案时,请考虑如何解决包含版本控制和报告需求的测试用例.

这是我的意思一个例子:一个简单的“提问题表”.

>原创(版本1):有第一个,最后一个,问题
>添加邮件字段(版本2):第一个,电子邮件,问题
>有人改变了对电子邮件的看法:(第3版):第一,最后,问题
>新的营销人员进来并改变它:(版本4):全名,问题

现在,您需要生成报告(csv).事情变得棘手.你怎么做呢?

我们通过引用其先前版本的字段级版本解决了这个问题.此外,报告系统要求最终用户在运行之前汇总报告数据的定义. (将报告字段绑定到数据字段等).

然而,对于文档DB,我想你可以用不同的方式做到一点.我相信新的数据库就像CouchDB(其他人)一样,内置了处理这些问题的机制.

祝好运!!

脚本宝典总结

以上是脚本宝典为你收集整理的php – 灵活的表单和支持数据库结构全部内容,希望文章能够帮你解决php – 灵活的表单和支持数据库结构所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。