我们正在构建一个SaaS产品,帮助公交运营商生成账单并向客户发送发票。问题是,每个运营商(我们的客户)都有他/她独特的公式来计算关税。
我们无法概括并提出一个规范的公式。但我可以告诉你,所有公式都接受相同的输入变量,并产生一个称为关税的输出变量。
我们正在用PHP构建它,我首先考虑让客户在textarea中编写他们的公式,然后使用eval()来执行它。但这听起来很愚蠢。
有没有办法构建一个客户可以用来构建公式的交互式公式构建器?如果是这样,我能将最终公式存储在数据库中吗?或者有没有办法在没有eval()的情况下使用它?
答案 0 :(得分:1)
我首先考虑让客户在textarea中编写他们的公式,然后使用eval()来执行它
这非常容易出错,并可能导致烦恼和沮丧的用户。
这种类型的问题有很多方法,但规则引擎似乎特别适合。规则引擎允许您使用元数据指定此类处理,而不是对其进行硬编码。一些规则引擎甚至提供最终用户友好的用户界面。
我对Drools有很好的经验,但我还没有看过它如何与PHP集成。
规则引擎比仅仅在用户提供的函数上调用eval()要复杂得多,但它更有可能导致可维护的软件和快乐的客户。