• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧
  • 欢迎加博主微信:jiang_shaobo

Openbiz新手教程:元数据简单表达式

点滴 admin 6年前 (2013-11-02) 271次浏览 已收录 扫描二维码

上一篇文章,主要介绍了Openbiz 的元数据的一部分内容,本篇文章继续为您介绍。

元数据简单表达式

为了让元数据更加具有灵活性,可以在元数据文件中灵活的使用Openbiz简单表达式。如果一个语句具有{expr}模式,expr将会被当作一个表达式来处理。基本上,一个表达式就是一个可返回一个值的一行PHP语句。如果用户需要更加复杂的通过表达式无法实现的逻辑,用户还可以通过将该元数据关联到一个用户预定的对象上来编写特殊逻辑的处理代码。

表达式标签

系统目前支持三种表达式标签

1.{expr} 标签对。Openbiz将执行php的eval方式来解析{}之间的expr表达式字符串

2.{fx}expr{/fx} 标签对。 这是一个详细版的{}表达式实现。Openbiz同样将执行php的eval方式来解析{fx}和{/fx}之间的expr表达式字符串。例如{fx}10-1{/fx}将返回结果”9”。

3.{tx}expr{/tx} 标签对。 这对标签告诉Openbiz只需要返回字符串本身,而不对其进行处理计算,例如:{tx}10-1{/tx} 将返回字符串 “10-1”。

使用简单表达式

简单表达式支持将一个动态数值绑定到元数据的属性上,开发人员可以在如下属性中使用简单表达式。

BizDataObj

SearchRule, SortRule, OtherSQLRule, AccessRule, UpdateCondition, DeleteCondition.

BizField

Required, Validator, Value, DefaultValue

EasyForm

Title

Element

Link, Style, Hidden, Enabled, SelectFrom

EventHandler

Function, RedirectPage

数据类型

简单表达式定义了如下记住数据类型:

布尔类型: true 或 false

整数数字: 如同 PHP 中的定义

浮点数: 如同 PHP 中的定义

字符串: 单引号和双引号括起来的字符; “ 将被转义为 ”, ‘将被转义为’, 将被转义为\。

空: null

操作符

简单表达是支持如下操作符:

数学: +, – (binary), *, / and div, % 和 mod, – (unary)

逻辑: and, , or, ||, not, !

关系: ==, !=, , , =, =。

条件: A ? B : C.根据 A 的返回结构执行B或C语句。

变量

简单表达式允许开发人员调用Openbiz元数据对象中的变量

1.jpg

当前注册插件服务范例:

@validation ? 数据有效性校验服务

@query ? 数据查询服务

如果要注册一个服务, 可以在$g_ServiceAlias 全局变量中添加该服务名字的注册

按其实现的原理,开发人员可以通过修改或重载对象的GetProperty()方法来添加更多的属性支持。GetProperty() 函数的输入参数既可以是“property_name” 也可以是 “*[child_name]” 或者一些其它的被用户自定义代码支持的参数

简单表达式语言业允许开发人员来调用任何PHP所支持的全局变量,关于PHP全局变量请阅读http://us2.php.net/manual/en/reserved.variables.php 了解详情

函数

开发人员可以在简单表达式中调用任意PHP函数,如果文件中已经包含了函数的定义,那么即便是用户自定义函数也可以被调用。例如:如果元数据A是基于用户自定义类的基础上创建的,类的代码文件是A.php,且该文件包含了A_help.inc,在这种情况下您就可以安全的调用在A_help.inc文件中定义的自定义函数。

范例

2.jpg

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。