А какую задачу вы решаете? Почему спрашиваю - скорее всего, вам потребуется что-то более сложное, чем просто оперирование фиксированными числами (как минимум подстановка переменных), а это накладывает свои ограничения на инструмент.
Ипатьев, Ага, хрен. Не все, например:
* aboyadzhiev/php-math-parser - не понимает оператор: ^,
* inspirenmy/php-math-parser - тоже самое что и с первым,
* xylemical/php-expressions - тоже самое что и с первым,
* Остальные под другие задачи написаны.
Единственная библиотека которая подошла:
oat-sa/lib-beeme или webfactorybulgaria/lib-beeme
Ага, хрен. Не все, например:
* aboyadzhiev/php-math-parser - не понимает оператор: ^,
* inspirenmy/php-math-parser - тоже самое что и с первым,
* xylemical/php-expressions - тоже самое что и с первым,
Ипатьев, Fatal error: Declaration of Symfony\Component\Cache\CacheItem::expiresAt(?DateTimeInterface $expiration): static must be compatible with PsrExt\Cache\CacheItemInterface::expiresAt($expiration) (0)
Вопросы не у меня, вопросы тут у вас, "пачиму ниработаит?".
Если у вас не работает компонент фреймворка Симфони, то вопросы тут исключительно к вашим собственным рукам.
Сергей, ну так это очень плохо, что нет вопроса.
Был такой очень старый андекдот, про нового русского ,который который покупал новую машину из-за того, что пепельница заполнилась. Соль в том, что он настолько же богатый, насколько тупой.
Вот вы себя ведёте как герой этого анекдота, выбрасывая библиотеку только потому что не можете очистить пепельницу.
Ипатьев, вопрос стоял:
Есть ли готовая библиотека для решения данной задачи?
Всё!
Я нашёл то, что искал: *oat-sa/lib-beeme*.
Почему я выбрал oat-sa/lib-beeme?
Ответ: в ней есть все необходимые мне операторы, весит мало (68 кб) и работает шустро.
Почему я отказался от symfony/expression-language?
Ответ: Кроме ошибки, сам пакет весит 1 Мб + вспомогательные библиотеки и много ненужных Мне функций.
Спасибо огромное, что вы пытаетесь мне помочь, но вопрос решён.
Так и знал, что кто-то про евал напишет.
И главное - для чего? Только чтобы повыделываться.
Вот только, если хотелось повыделываться, надо было показать, как писать простой парсер. Вот тогда это действительно было бы и себя показать, и нос утереть. А не это говно.