php - 动态构建受限逻辑处理器

标签 php mysql

这可能更像是一个讨论或假设性问题,但这里...

有没有人知道任何现有的可用资源(最好使用 jQuery)来构建普通 Joe 可以用来创建流程的逻辑 block 。基本上我在想的是,您可以将所有构建 block 放在一起,然后选择所需的操作和结果(如果该 block 为真)。例如:

[IF] {ACTION_A} [AND] {ACTION_2} [THEN] (RESULT_1)

[IF] {ACTION_B} [OR] {ACTION_A} [THEN] (RESULT_2)

其中大括号是先前在 PHP 中定义的,并且可以(可能)从下拉列表中选择。也许与我在这里看到的内容类似:http://www.surveygizmo.com/survey-support/tutorials/logic-builder-building-skip-jump-and-show-when-logic-rules/是我正在寻找的东西,尽管我真的不想重新发明轮子。

我还需要将所有内容存储在 MySQL 中,尽管 [IF] block 可能只有一项,但也可能有多项。如果我必须从头开始做这个,我不确定存储多个项目然后将它们粘合在一起以形成一个条件语句的最佳方式。

我希望能在这里得到一些灵感,如果没有,我希望能找到一个不需要重新发明的地方....

更新

例如,也许一个操作 block 是“DAY”——所以逻辑 block /选择菜单会是这样的:

[IF] {DAY} [EQUALS] 'wednesday' [THEN] (message = 'it is midweek!')

或者也许:

[IF] {DAY} [EQUALS] 'friday' [THEN] (message = 'the weekend is almost here!')

所有用户条目都将被完全检查并且非常有限,因此不会发生注入(inject)....

更新 2

这是我刚找到的另一个例子,类似于 http://ksistem.com/jquery/sqlbuilderdemo.htm但不是 SQL - 但与数据库无关,只是我将定义的设置操作的条件。

更新 3

根据这篇文章,Magento 带有类似的东西:jQuery (or any web tool) Nested Expression Builder (虽然这是去年八月)

最佳答案

这在一定程度上取决于您所说的“逻辑构建器”一词的含义。如果您只想提供构建一系列 if-then-else 条件的能力,其中每个条件调用一个或多个预定义函数,那么您可以通过 XML(以及其他方法)轻松实现这一点。

您可能有一个表行,其中每一行看起来像这样:

Cell 1:  IF
Cell 2:  [dropown containing list of functions] [dropdown containing possible values]
Cell 3:  THEN [dropown containing list of functions] [dropdown containing possible values]
Cell 4:  ELSE [dropown containing list of functions] [dropdown containing possible values]

并提供一个按钮来复制该行并指定新的 if-then-else 子句。

另一方面,如果您希望为用户提供更完整的逻辑构建器——例如,如果您想让用户也能够构建每个条件将调用的函数,而不是提供预定义列表——您正在寻找一个完全不同的问题。

之所以 if-then-else 子句很容易以 WYSIWYG 格式指定,是因为只有这种条件(没有 while 循环)的语言只能对整个可计算函数类的严格子集进行建模;即这样的语言不是图灵完备的。如果您希望提供一个完全图灵完备的逻辑构建器——好吧,我认为目前这将是一项艰巨的任务。

关于php - 动态构建受限逻辑处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977302/

相关文章:

php - 将 MySQL 结果显示到带有 URL 的 HTML 表中

mysql - 如何从 Sequel Pro 连接到 docker mysql 容器

mysql - 基于计算的 CloudSQL 模型的表上的 Google AppMaker 可过滤列

php - 如何在服务器端拆分 JSON,然后在客户端加入并流式传输

php - codeigniter 在表中重复

mysql - java.lang.NoClassDefFoundError : com/mysql/jdbc/StringUtils 错误

php - 使用两个查询字符串的 Url 重定向 htaccess

php - CakePHP 条件查找

php - 我应该在 PHP 托管中遇到哪些安全问题

php - UTF-8贯穿始终