上一节 `数据库操作` 已经可以调用系统所有数据和外部数据了;
本节,主要针对 后台设置的模型,提供更简洁的调用方式!
### data调用概述
* 用意
- 对系统后台设置的模型,提供更简洁的调用方式;
- 此方式,已经广泛的使用于:sapi模式 (APP/API服务端);
- 具体方法查看 /imcat/core/glib/glbData.php 文件;
- 使用:glbData::get(),或用助手函数:data();
* 参数
```
glbData::get($mod, $whr='', $lmt='10', $ord='', $ops=[]);
$mod: news, news.join
$whr: `show`='all', `show`='0', 或自定义条件...
$lmt: 1, 10, 3,10, 10.page, count
$ord: atime-1, atime
$ops: 备用参数
```
### data参数解读
* $mod
- 后台设置的模型,如:news, cargo;
- 如果需要扩展表数据,则:news.join, cargo.join;
* $whr
- where子句;
- 默认内置条件:\`show\`='1';如设置:`show`='all', `show`='0',则默认条件不生效;
- 其它条件,自由组合, 如:`catid='nsys'`;
* $lmt
- `1` 或 `10` : 获取 1行/10行 资料;
- `3,10` : 从第四行开始,取10行 资料;
- `10.page` : 10行 资料分页,具体第几页,由url参数得到, 如:page=2,默认第一页;
- `count` : 返回总记录行数;
* $ord:
- atime-1, atime DESC
- atime-0, atime ASC
- atime, atime DESC
* $ops:
- 备用参数,暂未使用
### data调用演示
* 演示代码
```
<h2>data('cargo','',2)</h2>
<?php dump(data('cargo','',2)); ?>
<h2>data('news','','2,1')</h2>
<?php dump(data('news','','2,1')); ?>
<h2>data('news','','2,1','atime-0')</h2>
<?php dump(data('news','','2,1','atime-0')); ?>
<h2>data('news','','2,1','atime-1')</h2>
<?php dump(data('news','','2,1','atime-1')); ?>
<h2>data('news','','count')</h2>
<?php dump(data('news',"`show`='all'",'count')); ?>
<h2>data('news','','2.page')</h2>
<?php dump(data('news','','2.page')); ?>
// 可在地址栏添加 `&page=2` 试一试...
```
* 代码和效果
- [模板代码]({=PATH_PROJ}/demo.php?home-code&fp=demo/deeps/data.htm),
提示,data()可在系统任意地方调用,不限于模板。
- [输出效果]({=PATH_PROJ}/demo.php?deeps-data)
### sapi模式应用
* sapi模式
- [sapi模式源码]({=PATH_PROJ}/demo.php?home-cmap&part=sapi)
- 效果如下
{md:"home/inc-sapi"}
-End-