【发布时间】:2012-01-23 19:17:34
【问题描述】:
这可能更像是一个讨论或假设性问题,但这里是……
有没有人知道任何现有的可用资源(理想情况下使用 jQuery)来构建普通 Joe 可以用来创建流程的逻辑块。基本上我在想的是,您可以将所有构建块放在一起,然后选择所需的操作和结果(如果块为真)。例如:
[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] 块可能只有一项,但也可能是多项。如果我必须从头开始做这个,我不确定存储多个项目的最佳方式,然后将它们粘合在一起以形成一个条件语句。
我希望在这里获得一些灵感,如果没有的话,可以引导我到某个我不必进行任何重新发明的地方......
更新
例如,也许一个动作块是 DAY - 所以逻辑块/选择菜单如下:
[IF] {DAY} [EQUALS] 'wednesday' [THEN] (message = 'it is midweek!')
或许:
[IF] {DAY} [EQUALS] 'friday' [THEN] (message = 'the weekend is almost here!')
所有用户条目都将经过全面检查并且非常有限,因此不会发生注入......
更新 2
这是我刚刚找到的另一个示例,类似于 http://ksistem.com/jquery/sqlbuilderdemo.htm 但不是 SQL - 但与数据库无关,只是我将定义的设置操作的条件。
更新 3
Magento 有类似的东西,根据这篇文章:jQuery (or any web tool) Nested Expression Builder(尽管这是去年 8 月)
【问题讨论】:
-
你想在这里完成什么?允许用户从本质上将他们自己的 PHP 注入您的服务器听起来像坏新闻。
-
它位于管理区域内的受保护区域 - 就已经定义的操作而言,它也将非常封闭。只希望选定的用户定义后端 PHP 如何根据当前条件处理任务。如果你喜欢,它是编程,但我更多地考虑拖放块以生成代码(而不是让它们实际进行任何编码)。
-
另外,不允许输入任何 PHP - 只是文本 - 任何 PHP 代码或 MySQL 或 HTML 都将无效(因为检查将到位)。