home-code

示例❤源码



上一节 `数据库操作` 已经可以调用系统所有数据和外部数据了;  
本节,主要针对 后台设置的模型,提供更简洁的调用方式!


### 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-