在我们作为气象公司的Web开发人员的工作期间,我们一遍又一遍地面对同样的任务:从某个地方获取一些文件(FTP / Web /目录/邮件)并将包含的数据导入数据库.
当然,文件格式永远不会相同,数据库总是以不同的方式设计,必须处理无数的特殊情况等等.
所以现在我正在为这种工作计划一个导入框架.由于我们都是经验丰富的PHP开发人员,当前的脚本是PHP或Perl,因此我们将坚持使用PHP作为脚本语言.
>数据获取器将从源获取文件,打开它并将内容存储到字符串变量中. (别担心,PHP会从我们那里获得足够的内存.)
>数据处理程序将执行复杂的工作,将字符串转换为某种数组.
>数组将保存到数据库或写入新文件或我们应该用它做什么.
除此功能外,还会有一些常见的错误处理,日志编写和电子邮件报告.
我们的想法是使用一组类(一些getter-classes,许多专门的处理程序,一些writer类).
我的问题:我如何在工作脚本中实际组织这些类?我是否发明了某种将被解释的元语言并且相应地调用了这些类?或者只是提供一些这些类必须实现的简单接口,我的用户(比如我说过:有经验的PHP开发人员)会编写加载这些类的小PHP脚本吗?
第二个版本几乎肯定提供了最大的灵活性和可扩展性.
你对这样的事业还有其他想法吗?
解决方法:
在需要进行导入和导出的许多不同外部数据格式的类似环境中工作,我建议至少尝试让它们统一数据格式.我们通过开发工具帮助我们公司以外的其他人将数据转换为我们的格式,从而取得了一些成功.我们还免费提供了源代码.
其他一些人正在使用我们的工具为我们转换他们的数据,如果他们改变了他们的格式,他们就会改变转换工具.头痛的一个原因对我们来说少了.
在一种情况下,它甚至导致另一家公司切换到我们的系统内部使用的文件格式.当然,这只是一个案例,但我认为这是漫长道路上的第一步;-)