外部数据接口php,自定义数据接口

cms提供直接输出、PHP代码体两种方便开发者使用的数据输出接口。

780aa660612fd5a6cef2a3a8918a1b42.png

1、直接输出

本类型是将后台录入的数据格式原样输出到客户端

dd98ae536c506cf5a8b6e1d4387027fa.png

返回格式为:array(3) {

["code"]=>

int(1)

["msg"]=>

string(2) "ok"

["data"]=>

string(7) "test123"

}

2、JSON数组

本类型数据内容必须是一个json格式的数组字符串

9fda1f1f058fe620c0d6990c450e32d2.png

返回格式为:array(3) {

["code"]=>

int(1)

["msg"]=>

string(2) "ok"

["data"]=>

array(3) {

[0]=>

string(1) "1"

[1]=>

string(1) "2"

[2]=>

string(1) "3"

}

}

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文件

d109e848bcde8672943b087a742582b6.png

那么,返回格式为: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模板标签的使用经验,直接写标签代码返回结果

bc8a83eba77b552f6a4d2c0b7c8f982d.png

例如调用news模块全部数据:{module module=news}

或者

{list action=module module=news}

模板标签只能写一段,不能写多段

通过以上的list查询方法可调用循环标签的全部数据,当然你可以对结果进行格式化处理,使用回调方法。

5、自定义模板标签

本类型需要有CMS模板标签的使用经验,直接写标签代码返回结果,区别于(4),本类型可以直接在标签里面写赋值方法和格式化显示,不需要写回调方法

a6314b6475359caa84ae32a92f8cde2c.png

这里循环出news模块的全部数据,只显示id,title,再把thumb转换为url地址。

也可以这样写,原理是将输出变量赋值给$api数组:{module module=news}

{php $api[$key]['id']=$t['id'];}

{php $api[$key]['title']=$t['title'];}

{php $api[$key]['thumb']=dr_thumb($t['thumb'], 200,200);}

{/module}

以上语法格式为:

181e54cb381971a8f7976dbb2f3d8963.png

本文地址:https://www.xunruicms.com/doc/399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值