“eval() uating”条件的替代方法

2024-01-08

在我正在处理的遗留代码库中,有一个条件评估器,它接受用户输入来构建条件。然后使用 php eval() 在运行时评估此条件。在不使用 eval 的情况下解决此问题的最佳方法是什么?

例如我有一个用户在 UI 中输入的条件“1>0”。必须对此进行评估并返回结果(在本例中为 true)。有什么建议么?

如果问题看起来含糊不清,请告诉我,我会尽力解释得更好。


The eval数学解析器 http://www.phpclasses.org/package/2695-PHP-Safely-evaluate-mathematical-expressions.htmlPHPClasses 提供了一个安全的框架来评估这种类型的表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“eval() uating”条件的替代方法 的相关文章

  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐

  • PHP目录权限检查

    我有一个 PHP 脚本 需要检查目录的权限以确保它可写 到目前为止我所拥有的是 perms substr sprintf o fileperms folder 4 if perms 0777 is writable temp DS code
  • Haskell - 如何写 (.) f f = (\x -> f (f x))

    我需要编写一个要在 GHCi 上运行的模块 并将函数组合为相同的函数 这个 经典fog x f g x runs f g x gt f g x 当我尝试这样写时出现问题 f f x gt f f x fof x f f x GHCi 说 C
  • Cmake查找模块以区分共享库或静态库

    我有一个使用 libCrypto 的 cmake c 项目 我托管了 FindCryptoPP cmake 模块here https github com mateuszzz88 FindCryptoPP cmake blob master
  • IEnumerable、Arity 和泛型类型定义

    我有课Counter按键对事物进行计数 简化 public class Counter
  • 为什么大多数处理器中L1缓存的大小都小于L2缓存的大小?

    为什么大多数处理器的L1高速缓存的大小都小于L2高速缓存的大小 L1 与 CPU 核心紧密耦合 并且在每次内存访问时都会被访问 非常频繁 因此 它需要非常快地返回数据 通常在一个时钟周期内 延迟和吞吐量 带宽 对于 L1 数据缓存来说都是性
  • 为什么 Java 8 引入 *Integer.sum(int a, int b)* [重复]

    这个问题在这里已经有答案了 我刚刚注意到JDK8引入了这个方法Integer class Adds two integers together as per the operator param a the first operand pa
  • 未找到 SDK 位置

    我最近创建了一个新的本地存储库 并从我们的远程存储库中提取了一些代码 当我打开项目时 我在控制台中收到一条消息 Gradle sync failed SDK location not found Define location with s
  • ParcelFileDescriptor 泄漏发生在哪里?

    我已经实施了一个备份代理 http developer android com reference android app backup BackupAgent html遵循以下准则数据备份 http developer android c
  • zsh:非法硬件指令 python run.py

    我正在使用 M2 MacBook Air 并使用 Conda 环境 我通过配置通道安装了python3 6 所以在我的 Conda 环境中 当我检查 python version 结果是 Python 3 6 13 我之所以使用python
  • 从 GenericType.class 过滤器获取最通用类型的集合

    我提前为这个糟糕的标题道歉 我们热切接受改进的建议 假设我有一个方法可以过滤List
  • jquery ui spinner 几分钟

    我尝试使用 jquery ui spinner 进行分钟输入 目前它的工作范围为 0 60 但我希望个位数为 00 01 09 两位数 根据the docs http api jqueryui com spinner option numb
  • 保存字体和颜色(delphi)

    我的系统允许用户更改多个表单上多个项目的颜色和字体 我需要一种方法来保存这些字体和颜色 我的系统使用 sql 所以有没有办法将它们保存在那里 或者有其他方法来保存它们 您可以创建第二个名为 users prefereces 的表 其中包含
  • 使用 SSMS 2016 时出错:对象无法从 DBNull 转换为其他类型

    任何人都可以解决这个问题 Windows 10 笔记本电脑上的 SQL Server Management Studio 2016 CTP3 13 0 900 73 对象资源管理器 gt 服务器 gt 数据库 gt 数据库 右键单击 属性
  • 无法将图像推送到 Amazon ECR - 失败并显示“没有基本身份验证凭据”

    我正在尝试将 docker 映像推送到 Amazon ECR 注册表 我正在使用 docker 客户端 Docker 版本 1 9 1 构建a34a1d5 I use aws ecr get login region us east 1获取
  • ipython 安装新模块

    我已经习惯了安装软件包的 R 功能 并且我正在尝试使用 R 来做同样的事情ipython 有时以下方法有效 但有时又无效 我想最终找出为什么它只有效一半的时间 通常要安装一个模块 比如requests例如 我会在打开新终端后输入以下内容 s
  • UICollectionView 不会在 RTL 中从右到左填充数据

    我有一个UICollectionView并想要水平显示单元格 例如 用英语 它应该显示 细胞A 细胞B 细胞C 阿拉伯语 它应该显示 细胞C 细胞B 细胞A 对于 RTL UICollectionViewFlowLayout如果每个单元格大
  • PO 文件本地化未按数据注释的预期工作

    我在我的 asp net core 应用程序中使用了 Orchard Localization 启动 cs services AddPortableObjectLocalization options gt options Resource
  • 谷歌应用程序脚本是同步的吗?

    我是一名 Java 开发人员 同时学习 JavaScript 和 Google Apps 脚本 作为新手 我学习了 JavaScript 的语法 而不是它实际上是如何工作的 我很高兴地使用 Google Apps 脚本并按顺序和同步编写代码
  • Ember.JS 中的动态计算属性已弃用?

    我正在尝试制作一个 ember 应用程序 我有一个计算属性 控制器如下所示 The Controller Todos Controller Ember Controller create SNIP countCompleted functi
  • “eval() uating”条件的替代方法

    在我正在处理的遗留代码库中 有一个条件评估器 它接受用户输入来构建条件 然后使用 php eval 在运行时评估此条件 在不使用 eval 的情况下解决此问题的最佳方法是什么 例如我有一个用户在 UI 中输入的条件 1 gt 0 必须对此进