Как хранить логические данные без eval ()?

Я работаю над приложением, которое позволяет администратору устанавливать специальные условия для своего магазина. Например:

if (($cartTotal > 200) && (has_item_in_cart($item))) { // free shipping, % discount, etc }

У них будет графический интерфейс для того, чтобы установить условия, мне интересно, как хранить информацию. Единственное решение, которое я придумала, это создание if заявление и сохранение его в виде текста в базе данных, а затем с помощью eval() оценить это. Я невероятно не решаюсь использовать eval() в общедоступном приложении. Есть ли альтернативы?

Он будет использовать Laravel, если есть какие-либо пакеты, которые могут быть доступны.

2

Решение

Вы можете использовать что-то вроде языка выражений Symfony: http://symfony.com/doc/current/components/expression_language/introduction.html#usage

По крайней мере, это будет намного безопаснее, чем eval! 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]