PHP中的通用声明表达式生成器

Ale*_*ein 11 php ajax user-interface expression declarative

伙计们,

我正在寻找构建一个PHP5 UI,我很确定这是一堆应用程序的共同点.基本上,它是一个表达式构建器,允许用户通过逻辑运算符(AND/OR)指定表达式,如下所示:

  • FieldX> 3 AND FieldY = 5
  • FieldY ="bob",FieldZ不为空
  • FieldX>'5/23/2007'OR(FieldY = 5 AND FieldY不为空)

理想情况下,像这样的系统允许我作为程序员指定用户可以选择的参数列表(列)和每个参数的数据类型.它还提供了一个漂亮的,用户友好的界面来定义这样的表达式 - 我想象的是像桌子一样,每行有几个选择器:

[列] [条件] [值] [和/或] [列] [条件] [值] [和/或] ...

你知道一个类似的开源组件吗?或者也许是这种功能的一部分?

Bri*_*say 12

提醒一句.这些类型的通用表达式构建器通常被认为是解决各种用户问题的优秀解决方案.思维倾向于遵循这些思路:

  • 用户想要所有这些不同的报告
  • 我们无法给他们SQL访问权限(即使他们能理解它)
  • 我们没有时间编写所有这些自定义报告
  • 因此,我将为他们提供一种简单的方法来编写查询,而无需了解特定的语法,表格和字段.

这不一定是个坏主意,但我们在我公司发现的是,非技术用户在理解和构建比一组ANDS或一组OR​​S更复杂的表达方面有惊人的难度.这对我们程序员来说很难掌握,因为我们大多数人甚至在学习编程之前就可能对布尔逻辑有直观的理解.

我建议您不要试图给予他们完全的灵活性来创建他们想要的表达式,而是将一个UI组合在一起,让程序员在后端定义更复杂的东西,但在前端为用户提供简单的选择 - 结束.显然,这说起来容易做起来难.

请记住 - 有时最终用户的困难并不在于他们不知道正确的语法来表达他们的想法.更常见的是因为他们甚至不知道如何以明确的方式表达他们的想法,即使他们提供了一种简单的方法.

注意:我并不是说最终用户总是蠢货 - 只是说他们的思维可能与我们疯狂的开发人员不同.