其实一个简单的接口大家可以理解为访问url,通过URL传参的方式带入数据,通过模型查询数据,获取到之后,添加到数据组中,给定返回页面内容,内容主要是响应状态code,参数信息,content内容。如果大家会有对模型的使用不太请的地方,可以去看我前面的THINKPHP5中的模型章节的教学。那么下面我们就开始今天的主题了哈。
首先我们需要在控制器定一个方法,方法其实就是对应的功能。
public function search(){
//定义一个方法
}
接着我们说一下今天用到的第一个类Request类。我们可以直接通过这个Request类中的param()方法获取到浏览器传递的参数信息,当然这个Request类包含了很多有用的信息,包括头信息,路由地址等。大家可以详细的去看下手册,或者打印下request对象即可。那我们在search的参数中传入request对象,并以$request变量的形式传递。如下所示:
public function search(Request $request){
//定义一个方法
}
public function search(Request $request){
//定义一个方法
$param=$request->param();
}
当然也可以直接实例化request类,使用其中的instance()方法,像下面这样:
public function search(){
//定义一个方法
$info=Request::instance();
$param=$info->param();
}
这个param() 方法中填入要获取的参数名称,假设是id。param('id')。接着我们需要在模型层创建一个模型就叫param吧,我们对应的在数据库建立一张表名字位param的表。
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/7/21 0021
* Time: 19:59
*/
namespace app\admin\model;
use think\Model;
class Param extends Model
{
protected $pk='id';
}
表的建立。
我们使用模型中的get方法中传入id参数,去查询数据库中的数据信息。而id参数信息又是从路由地址中获取的,明白了吧。我们把模型获取的数据,通过ToArray()方法转换为数据,方便后面的使用。像下面这样子:
public function search(Request $request)
{
// $info = Request::instance();
$param = $request->param('id');//获取当前参数,也就是接口参数
$cont = \app\admin\model\Param::get(['id' => $param])->toArray();//带入获取数据
}
接着我们定义一个数据,在里面加入我们要返回页面的参数,像下面这样:
public function search(Request $request)
{
// $info = Request::instance();
$param = $request->param('id');//获取当前参数,也就是接口参数
$cont = \app\admin\model\Param::get(['id' => $param])->toArray();
$data = [
'id' => $param,//获取到的参数值
'host'=>$request->host(),//host地址
'url' => $request->url(),//;路由地址
'message'=>"接口信息",//返回的信息
'content' => $cont['content'],//返回的数据内容
];
}
最后我们把我们的$data数据返回给页面,类型可以是json,jsonp或者xml
public function search(Request $request)
{
// $info = Request::instance();
$param = $request->param('id');//获取当前参数,也就是接口参数
$cont = \app\admin\model\Param::get(['id' => $param])->toArray();
$data = [
'id' => $param,
'host'=>$request->host(),
'url' => $request->url(),
'message'=>"接口信息",
'content' => $cont['content'],
];
//指定json输出。thinkPHP5中已经内置了可以转换数据类型的方法,有json类型,xml类型view类型等。
// 当然也可以自己写一个公共的方法放入common.php文件中,然后调用方法转换就好
return json($data,200);
//输出jsonp数据类型
// return jsonp($data, 200);
//输出xml数据类型
// return xml($data, 200);
}
调试的话我们直接使用Trac的调试模式调试,也可以直接使用postman这个谷歌插件调试,这个插件是可以直接安装在笨的,不通过浏览器打开也行。
途中我标记的这几个地方分别也可以设置方法,参数,路由地址,数据类型等。今天就讲到这里了各位。拜拜。还是不明白的可以留言,我会回复你的。