这可能更像是一个讨论或假设的问题,但这里有......
有没有人知道任何现有的可用源(理想情况下使用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]块可能只是1个项目,但它可能是几个。如果我不得不从头做这个,我不确定最好的方法来存储多个项目,然后将它们粘合在一起制作一个条件语句。
我希望能在这里获得一些灵感,如果没有,那就是在不需要重新发明的地方找到灵感......
更新
例如,也许一个动作块是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月)
答案 0 :(得分:0)
这在某种程度上取决于术语“逻辑构建器”的含义。如果您只想提供构造一系列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循环)的语言只能建模整个可计算函数类的严格子集;即这些语言不是图灵完整的。如果您希望提供一个完全图灵完备的逻辑构建器 - 嗯,我认为此时这将是一项艰巨的任务。