DiYunCMS使用API接口插件的自定义接口数据功能,可以提供直接输出、PHP代码体两种方便开发者使用的数据输出接口。
添加数据接口有“直接输出”、“JSON数组”、“PHP执行代码“、“模板循环标签”、“自定义SQL语句”5种方式:
下面来介绍下每种类型的使用
1、直接输出
本类型是将后台录入的数据格式原样输出到客户端
返回格式为:
array(3) { ["code"]=> int(1) ["msg"]=> string(2) "ok" ["data"]=> string(7) "帝云CMS是免费开源可商用的PHP建站程序" }
2、JSON数组
本类型数据内容必须是一个json格式的数组字符串
返回格式为:
array(3) { ["code"]=> int(1) ["msg"]=> string(2) "ok" ["data"]=> array(3) { [0]=> string(1) "帝云CMS" [1]=> string(1) "DiYunCMS" [2]=> string(1) "你好" } }
3、php执行代码
本类型需要有php的开发经验,直接写php代码返回结果
例如:
定义test.php接口文件:/dayrui/App/Httpapi/Api/test.php
<?php /** * api 示例文件 * 变量介绍 * $return 表示标准返回变量 */ $return = []; // 返回数据 // 查询全部会员,并返回username和email $data = \Phpcmf\Service::M()->table('member')->getAll(); if ($data) { foreach ($data as $r) { $return[] = [ 'id' => $r['id'], 'username' => $r['username'], ]; } }
后台选择test.php文件
那么,返回格式为:
array(3) { ["code"]=> int(1) ["msg"]=> string(2) "ok" ["data"]=> array(13) { [0]=> array(2) { ["id"]=> string(1) "1" ["username"]=> string(5) "admin" } ......
本类型对php技能要求比较高,如果遇到执行错误可以在错误日志检查结果。
4、模板查询标签
本类型需要有CMS模板标签的使用经验,直接写标签代码返回结果
例如调用news模块全部数据:
{module module=news} 或者 {list action=module module=news}
模板标签只能写一段,不能写多段
通过以上的list查询方法可调用循环标签的全部数据,当然你可以对结果进行格式化处理,使用回调方法。