发表日期:2019-10 文章编辑:小灯 浏览次数:283
## 回调方法 如果某些字段的值需要特别处理,可以设置回调方法。 ~~~ // 使用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(); ~~~DolphinPHPselect
DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.38.1LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的冗余,以方便开发者快速构建自己的应用。
DolphinPHPpictures
DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.38.1LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的冗余,以方便开发者快速构建自己的应用。
日期:2019-12 浏览次数:4335
日期:2019-12 浏览次数:3731
日期:2019-12 浏览次数:3518
日期:2019-12 浏览次数:3744
日期:2019-12 浏览次数:3865
日期:2019-12 浏览次数:3652
日期:2019-12 浏览次数:3905
日期:2019-12 浏览次数:3579
日期:2019-12 浏览次数:4071
日期:2019-12 浏览次数:4106
日期:2019-12 浏览次数:3874
日期:2019-12 浏览次数:4418
日期:2019-12 浏览次数:3817
日期:2019-12 浏览次数:3651
日期:2019-12 浏览次数:3703
日期:2019-12 浏览次数:3596
日期:2019-12 浏览次数:3879
日期:2019-12 浏览次数:3726
日期:2019-12 浏览次数:3713
日期:2019-12 浏览次数:5098
日期:2019-12 浏览次数:4164
日期:2019-12 浏览次数:3551
日期:2019-12 浏览次数:3618
日期:2019-12 浏览次数:3686
日期:2019-12 浏览次数:4405
日期:2019-12 浏览次数:3536
日期:2019-12 浏览次数:3486
日期:2019-12 浏览次数:3791
日期:2019-12 浏览次数:3438
日期:2019-12 浏览次数:3711
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.