动态表单输入服务

时间:2018-01-28 20:14:36

标签: php mysql json xml laravel

我有一个带有php 7(laravel)的项目,我必须为不同的服务创建一个注册表单,我的客户想要动态创建服务,每个服务都有不同的注册表单,例如:

服务一有三个输入的名字,姓氏和头像

服务拖车有四个输入名称电子邮件性别和电话号码

...

...

那么存储这些信息的最佳解决方案是什么? mysql数据库或json文件或xml文件

1 个答案:

答案 0 :(得分:1)

至于存储,在这种情况下,数据库是一个自然的选择,因为它处理开箱即用的并发访问,而存储在文件中需要一些复杂性。

但你真正关心的是数据结构,而不是存储。这里的挑战是不同的数据提供者提供不同的结构,并且您希望它们都在一个结构中。

如果服务1将名字和姓氏作为单独的字段提供,而服务2将它们视为单个字段,则问题是您是创建单个字段(如服务2中)还是连接来自服务1的值,或者你创建了多个名称字段(比如在服务1中),并发明了一种方法,将来自服务2的值分成相应的部分。

要明智地做出此决定,您必须查看数据的使用方式。如果您希望机器人发送以“亲爱的姓女士”行开头的电子邮件,您需要单独保留姓氏。如果您的计划范围内没有此类任务,您可能希望跳过划分挑战,只需将所有名称字段存储在一个字段中。

人们名字的正确数据结构问题比看起来更深。看看这篇不错的帖子:http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/

无论如何,stackoverflow中没有人知道您的数据将用于什么。您可以与客户沟通,与他们分享这些知识。然后抽出时间坐下来勾勒出足以满足您眼前需求的结构。概述用例,绘制ER图,在纸上写下一些伪代码,说明系统需要哪些数据字段。

最重要的是,不要害怕它不会像你想要的那样好。随着时间的推移,需求会发生变化,您的理解会加深,并且不断调整数据库结构和代码以适应新的现实。没关系。来吧,解决它。