3

我正在开发/维护一个 Web 应用程序,其中必须根据一段时间的设置和公式方法自动生成门户上的不同报告和网页。

例如,一个月的计算可以是 ($a+$b),而下个月的计算可以是 (($a+$b)/2),甚至是 ($a+$b)/2*100 对于一个组/一个月内的个人类型...

最重要的是,我希望用户(管理员)能够在特定时间段内设置公式方法,但我未能达到这个目标

我认为这一定是一个很好的解决方案,因为我的应用程序有一个计算中心,可以将计算分发到 PDF 报告、XLS 导出、实时网页......并且所有这些地方的数字必须准确且相同

现在的问题是:

有没有办法在数据库中存储代码(php脚本、代码片段)以及日期间隔,以便可以评估“eval()”并执行计算?

如果是,是否有一种方法可以创建允许最终用户(没有编程技能)设置公式的用户界面?

任何文档?链接阅读?

供您参考,我使用 CodeIgniter PHP 框架构建我的 Web 应用程序

谢谢

4

1 回答 1

2

不要让用户编写eval()针对您的数据库进行 -ed 的代码。

数据库是用于数据的。代码是为了代码。

您会发现在 PHP 中的模型类中编写自定义报告有以下好处:

  • 开发速度更快
  • 更容易调试
  • 运行速度更快
  • 在安全漏洞方面更安全地执行

让用户指定标准,然后您编写应用程序代码来解释他们的标准并将其映射到您编写的代码中。

一些用户的条件只是日期范围等的特定值,您可以将它们添加为查询参数绑定

其他标准会改变报告查询的逻辑,对于这些,您需要调用您已编码的不同报告编写器。

用户在撰写报告时要求任意的灵活性是不合理的。他们不会对结果感到满意,无论是在性能还是安全方面。

于 2012-12-09T21:42:12.880 回答