欢迎您光临深圳塔灯网络科技有限公司!
电话图标 余先生:13699882642

网站百科

为您解码网站建设的点点滴滴

首页  >   > 技术知识

DolphinPHP zbuilder 字段类型callback

发表日期:2019-10 文章编辑:小灯 浏览次数:283

DolphinPHPselect

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.38.1LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的冗余,以方便开发者快速构建自己的应用。

## 回调方法 如果某些字段的值需要特别处理,可以设置回调方法。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', 'format_time') ->fetch(); ~~~ 回调有以下几种用法 ### 1.输入有效的函数 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', 'format_time') ->fetch(); ~~~ 其中`format_time`是一个有效的函数。 >[info] 系统默认会将该字段值传入到指定的回调方法内 也可以添加额外参数 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', 'format_time', 'Y-m-d') ->fetch(); ~~~ 其中,'Y-m-d'会被当作第二参数传入函数`format_time`内。 额外参数也可以是一个变量。 ~~~ $format = 'Y-m-d'; // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', 'format_time', $format) ->fetch(); ~~~ ### 2.使用匿名函数 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', function($value){ return format_time($value); }) ->fetch(); ~~~ >[danger] 使用匿名函数时,可以定义一个参数来接收字段值。该匿名函数要有返回值,否则页面不显示该字段的值。 也可以不接收字段值,而直接返回数据。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', function(){ return '禁止查看'; }) ->fetch(); ~~~ 匿名函数同样可以接收第二个参数 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', function($value, $format){ return format_time($value, $format); // $format 在这里的值是“Y-m” }, 'Y-m') ->fetch(); ~~~ >[info] 提示:如果额外参数是`__data__`,则会把整行数据当做第二个参数传给回调方法 比如我们希望在create_time的回调方法内,能接收到其他字段的值。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('name', '用户名') ->addColumn('create_time', '创建时间', 'callback', function($value, $data){ return $data['name']; // 可以用$data接收到其他字段的数据 }, '__data__') ->fetch(); ~~~ ### 3.以数组方式输入对象和方法 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', [$this, 'format_time']) // 表示执行当前对象的format_time方法,并将值传入format_time方法中 ->fetch(); ~~~ 也可以传入额外参数 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', [$this, 'format_time'], 'Y-m') ->fetch(); ~~~ 或者传入变量 ~~~ $format = 'Y-m'; // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', [$this, 'format_time'], $format) ->fetch(); ~~~ >[info] 建议不要在回调方法内去查询数据库,这样会造成频繁访问数据库 ### 支持传入任意个参数(1.0.3+) 从1.0.3版本开始,“callback”支持传入任意个参数。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', function($value, $a, $b, $c){ // $value 字段create_time的值 // $a的值为“参数1” // $b的值为“参数2” // $c的值为“参数3” }, '参数1', '参数2', '参数3') ->fetch(); ~~~ `__data__`可以放在任意位置。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_time', '创建时间', 'callback', function($value, $a, $b, $c){ // $value 字段create_time的值 // $a的值为“参数1” // $b的值为“参数2” // $c的值为当前行的所有字段值 }, '参数1', '参数2', '__data__') ->fetch(); ~~~ >[info]如果某些字段是不存在的,使用callback时,无需接收该字段的变量。 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->addColumn('create_at', '创建时间', 'callback', function($data){ // create_at字段是不存在的,所以匿名函数的不用再定义一个$value变量来接收值 }, '__data__') ->fetch(); ~~~

DolphinPHPpictures

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.38.1LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的冗余,以方便开发者快速构建自己的应用。


本页内容由塔灯网络科技有限公司通过网络收集编辑所得,所有资料仅供用户参考了本站不拥有所有权,如您认为本网页中由涉嫌抄袭的内容,请及时与我们联系,并提供相关证据,工作人员会在5工作日内联系您,一经查实,本站立刻删除侵权内容。本文链接:http://dengtar.com/21799.html
相关
 八年  行业经验

多一份参考,总有益处

联系深圳网站公司塔灯网络,免费获得网站建设方案及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:余经理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.