我的 PHP 应用程序需要能够导出(和导入)一系列不同的数据格式,主要是基于 XML 的。
我可以选择
- 在 PHP 中,使用 DOM 导出到某种基于 XML 的格式,该格式是其他人所需的所有数据的超集,并为我想要支持的每种输出格式创建一个单独的 XSLT 样式表,通过 PHP 的 XSL 扩展运行 DOM 输出。
或者
- 不使用 PHP 的 XSL 扩展,而是将每个输出格式实现为原生 PHP 中的一个类,该类使用 DOM 直接从内部对象/结构转换为给定的 XML 格式,每个这样的类都实现相同的接口,因此它们是可互换的。
该应用程序将被大学使用,它是一种以各种方式管理“人员”记录的工具,以及从各种来源(如他们的人力资源系统等)进行导入/导出的工具。我将自己实现一组输入和输出格式,但是将来,使用它的人可能会想要修改它以支持他们自己的格式。
我考虑不使用 XSLT 的一个原因是,如果将来除了我之外还有其他人要维护该应用程序,那么似乎很少有人知道 XSLT——似乎有更多人知道 PHP。
另一个是第二个似乎是一个更有效和“程序化”的解决方案,并且在某种意义上更灵活,因为我可以通过重载像 CSV 或基于列的文本一样轻松地输出和导入非 XML 格式类的必要部分,而不是经常需要的部分。
第三个但非常小且无关紧要的原因是 PHP 需要重新编译才能启用 XSL,而 DOM 默认情况下是启用的,因此它的可移植性会更高一些。然而,这并不是什么大问题,因为它很容易重新配置 PHP。
你觉得我的推理怎么样?