苹果cms教程

苹果CMS自定义API接口二次开发两种实现方法

发布时间:2024-11-21共14人阅读

苹果CMS自带的默认API接口功能有限,无法满足个性化数据调取、前端对接、第三方联动等二次开发需求。可通过两种稳定可行的方式自定义开发API接口,分别为新增控制器接口、模板PHP函数接口,适配不同开发场景,可灵活输出影视分类、列表等JSON数据。

一、新增控制器方式开发API接口

该方式基于TP5框架原生开发,接口稳定性强、适配性高,适合长期使用、正式对接的自定义接口场景。文件创建需遵循框架规范,控制器文件名首字母必须大写。

1. 创建自定义控制器文件

在站点目录 application/api/controller/ 下新建 Test.php 控制器文件,基础架构代码如下:

<?php
namespace appapicontroller;
use thinkController;
use thinkCache;

class Test extends Base
{
    var $_param;
    public function __construct()
    {
        parent::__construct();
        $this->_param = $this->request->param();
    }

    public function index()
    {
        $data = [];
        $list = ['code'=>0,'data'=>$data];
        return json($list);
    }

}

2. 接入CMS影视数据查询逻辑

基础控制器搭建完成后,写入数据查询代码,实现按分类、页码、数量调取影视资源,支持GET、POST请求方式:

$lp = $this->request->param();//接收请求参数
$where = [];
$where['type_id']= $lp['type'];//绑定分类ID筛选条件
$order ='vod_time desc';//按资源时间倒序排序
$page = $lp['page'];//获取请求页码
$limit = $lp['num'];//获取单页展示数量
$data = model('Vod')->listData($where,$order,$page,$limit);
$list = ['code'=>0,'data'=>$data];
return json($list);

3. 接口访问地址

文件保存后可直接通过站点URL访问接口,正常返回JSON格式数据:

http://www.xxx.com/api.php/test?type=1&page=1&num=20

二、模板自定义PHP函数搭建API接口

该方式无需修改程序核心目录,依托模板文件实现接口开发,操作简单、无需适配框架规则,适合临时接口开发、轻量数据调用场景。

1. 引入自定义函数文件

打开全局公共模板文件 include.html,添加代码引入自定义PHP函数文件:

{php}require MAC_ROOT_TEMPLATE . 'php/function.php'{/php}

2. 创建自定义函数文件

在模板根目录新建 php 文件夹,创建 function.php,写入影视数据调取函数:

<?php 

function vod(){
    $param = input();
    $param['page'] = intval($param['page']) < 1 ? 1 : intval($param['page']);
    $param['limit'] = intval($param['limit']) < 20 ? 20 : intval($param['limit']);
    $where = [];
    $where['vod_type'] = $param['type'];
    $order ='vod_time desc';//资源排序规则
    $res = model('Vod')->listData($where, $order, $param['page'], $param['limit']);
    return json($res['list']);
};

3. 创建接口访问模板

在模板label目录下新建 api.html 接口文件,引入函数并执行调用:

{include file="public/include"}
{php}require MAC_ROOT_TEMPLATE . 'php/function.php'{/php}
{:vod()}

4. 接口访问地址

保存文件后通过前端URL即可访问自定义数据接口:

http://www.xxx.com/index.php/label/api.html?type=1&page=1&limit=20

三、两种开发方式适用场景对比

  • 控制器接口:原生框架支持,运行稳定、安全性高,适合正式项目对接、长期使用的标准化API接口。

  • 模板函数接口:无需改动程序核心,部署便捷、修改灵活,适合临时数据调用、轻量化二次开发场景。

相关标签