1

我们正在构建一个 SaaS 产品,帮助公交运营商生成账单并将发票发送给他们的客户。问题是,每个运营商(我们的客户)都有他/她独特的计算资费的公式。

我们不能一概而论并制定一个规范的公式。但我可以告诉你,所有的公式都接受相同的输入变量并产生一个称为关税的输出变量。

我们在 PHP 中构建它,我首先想到让客户在 textarea 中编写他们的公式,然后使用 eval() 来执行它。但这听起来很愚蠢。

有没有办法构建一个交互式公式构建器,客户可以使用它来构建他们的公式?如果是这样,我可以将最终公式存储在数据库中吗?或者有没有办法在没有 eval() 的情况下使用它?

4

1 回答 1

1

我首先想到让客户在 textarea 中编写他们的公式,然后使用 eval() 执行它

这很容易出错,并可能导致用户恼火和沮丧。

有很多方法可以解决这类问题,但规则引擎似乎特别适合。规则引擎允许您使用元数据而不是硬编码来指定这种类型的处理。一些规则引擎甚至提供最终用户友好的用户界面。

我对Drools有很好的体验,尽管我还没有研究过它如何与 PHP 集成。

规则引擎远比仅在用户提供的函数上调用 eval() 复杂得多,但它更有可能导致可维护的软件和满意的客户。

于 2013-05-02T04:26:08.763 回答