筋斗云接口编程 / 对象型接口(二)
来源:互联网 发布:淘宝与京东哪个更可靠 编辑:程序博客网 时间:2024/05/16 06:28
定制操作类型和字段
对象接口通过继承AccessControl类来实现,默认允许5个标准对象操作,可以改写属性$allowedAc
来限定允许的操作:
class AC_ApiLog extends AccessControl{ protected $allowedAc = ["get", "query"]; // 默认值为 ["add", "get", "set", "del", "query"]}
缺省get/query操作返回ApiLog的所有字段,可以用属性$hiddenFields
隐藏一些字段,比如不返回”addr”和”tm”字段:
class AC_ApiLog extends AccessControl{ protected $hiddenFields = ["addr", "tm"];}
对于add/set接口,可用$requiredFields
设置必填字段,用$readonlyFields
设置只读字段。
特别地,”id”字段默认就是只读的,无须设置。
示例:实现下面控制逻辑
- “addr”字段为必填字段,即在add接口中必须填值,在set接口中不允许置空;
- “tm”字段为只读字段,即在add/set接口中如果填值则忽略(但不报错);
- 在add操作中,由程序自动填写”tm”字段。
class AC_ApiLog extends AccessControl{ protected $requiredFields = ["addr"]; protected $readonlyFields = ["tm"]; // 由add/set接口回调,用于验证字段(Validate),或做自动补全(AutoComplete)工作。 protected function onValidate() { if ($this->ac == "add") { $_POST["tm"] = date(FMT_DT); } }}
例中使用回调onValidate来对tm字段自动填值。
上面用到的常量FMT_DT是框架定义的标准日期格式,常用于格式化日期字段传到数据库。
如果某些字段是在添加时不是必填,但更新时不可置空,可以用$requiredFields2
来设置;
类似地,添加时可写,更新时只读的字段,用$readonlyFields2
来设置。
0 0
- 筋斗云接口编程 / 对象型接口(二)
- 筋斗云接口编程 / 对象型接口
- 筋斗云接口编程 / 对象型接口(三)
- 筋斗云接口编程 / 对象型接口(四)
- 筋斗云接口编程 / 非标准对象接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程 / 函数型接口
- 筋斗云接口编程
- 筋斗云接口编程 / 子表对象
- 筋斗云接口编程 / 常用操作(二)
- 筋斗云接口编程 / 虚拟字段(二)
- 筋斗云接口编程 / 接口返回前回调
- 筋斗云接口编程 / 常用操作(一)
- 筋斗云接口编程 / 常用操作(三)
- Android修改图片颜色-转成灰度图
- 定义和使用EL函数
- C/C++调用python
- 【Objective-C基础】集合类
- GDB多进程调试
- 筋斗云接口编程 / 对象型接口(二)
- 1 maven依赖其他项目的代码,调试的时候进不了依赖项目的源码。2 a项目更改,b项目立即提现
- 04 LINUX ubuntu 启动出错和桥接联网设置
- Joomla(5)登录、注销、注册和更新的Demo
- 日常知识总结之-修改字体大小和颜色
- 412. Fizz Buzz(1行代码)
- 微信小程序--组件input输入框控件的使用示例(含源码)
- easyui 扩展方法 以第一列为主分组合并重复单元格
- Head First设计模式学习笔记-------(5)单体模式