困境:
我有需要存储定价数据的选项。
每个选项都可以有不同的公式来确定其成本。
例如,一个选项的总成本将是成本 * 平方英尺,但另一个选项将是成本 * 周长英尺,而另一个选项仍然只是固定成本。
我公司拥有的几个站点正在从数据库中提取这些选项。
这些网站中的每一个都需要能够以完全相同的方式计算期权定价。
我们目前在每个站点上都有 PHP 代码从数据库中提取数据,然后确定如何计算它。
这种方法的问题在于,我们有时会更改价格的计算方式,当发生这种情况时,我们必须编辑定价模块存储库,然后将其更新到托管这些站点之一的每台服务器。
我正在寻找更好的解决方案。
我正在考虑将公式存储在数据库的选项记录中的想法,然后每个站点只需要调用选项,将数据应用于存储在那里的公式,然后运行公式。
现在,这可以用 来完成eval()
,但我真的不想那样做。
评估示例让您更清楚地了解我正在尝试做什么:
$product->width = 3;
$product->length = 4;
$formula = $option->cost_formula; // $product->width * $product->length * $option->cost
eval($formula);
还有其他人有其他解决方案吗?