目前我正在设计带有送货商的网站的数据库和架构。
有些供应商有静电交货价格,没有问题,但有些供应商有动态计算价格。例如:if ({{item_type}} == 1)
$price = {{default_price}} - {{default_price}} * 0.5;
else
$price = {{default_price}};
// {{...}} values are in sql tables
提供商的数量很大,应该很容易添加,所以我不能在php中对每个规则进行硬编码。
我的想法是将商店这样的规则存储为字符串sql列和工作流应该如下:
select_rule -> parse_{{}}_values -> preg_replace_{{}}_values ->
eval(selected&parsed_rule) -> use_$price_variable
但我并不完全相信这是最好和最有效的解决方案,或者它会起作用。你觉得怎么样?
有更合适的解决方案吗?也许某人已经有过这样的挑战,并找到了一条出路。
答案 0 :(得分:2)
虽然技术上可行,但执行直接存储在数据库中的代码会带来安全风险。添加字段以满足价格变化的方式(provider_markup,provider_discount,provider_shipping等)并构建代码以利用这些字段更有意义。