thinkphp5开发restful-api接口 学习笔记一

视频学习地址:

http://study.163.com/course/courseMain.htm?courseId=1004171002

源码和文档(如果满意,欢迎 star):

https://github.com/RiversCoder/tp5-api

百度云盘链接:https://pan.baidu.com/s/1jMNumEOJ2yO5kSKYfnGjOw 密码:l8qr

看云文档:

https://www.kancloud.cn/momingsixiali/thinkphp-resturl-api#/catalog

学习笔记:

http://f61be319.wiz03.com/share/s/3S6-cp1BIQ952yXKyj02PIM42a6LA83b6kll2FtQpG18ZOp6

sublime 3下载地址:

链接:https://pan.baidu.com/s/1YmAnF9c8HwV35gZOYVXHiw 密码:i4bx

 

thinkphp的报错信息只支持,string,数字,空,回调函数,不支持数组

 如果要返回数组格式的数据,需要用json或者json_encode();一下

复制代码

 1 <?php
 2 namespace app\index\controller;
 3 class Index {
 4     public function index() {
 5         $data = array(
 6             'name' => 'red_panda',
 7             'address' => 'China',
 8         );
 9         $code = 200;
10         $msg = 'ok';
11         return json_encode(['data' => $data, 'code' => $code, 'message' => $msg]);
12     }
13 }

复制代码

 config.php里可以改输出的类型(这样就可以直接return array了).

'default_return_type'=>'json' // html/json/xml/


 获取参数:

复制代码

 1 <?php
 2 namespace app\index\controller;
 3 use \think\Request;
 4 class Index {
 5     public function index() {
 6         $request = Request::instance();
 7         echo '请求方法:' . $request->method() . '<br/>';
 8         echo '访问地址:' . $request->ip() . '<br/>';
 9         echo '请求参数:';
10         dump($request->param());
11         echo '请求参数:仅包含name,sex';
12         dump($request->only(['name', 'sex']));
13         echo '请求参数:排除name,sex';
14         dump($request->except(['name', 'sex']));
15     }
16 }

复制代码

效果:

 postman post请求方法:

返回参数:

thinkphp5里判断请求方法:

复制代码

 1 <?php
 2 namespace app\index\controller;
 3 use \think\Request;
 4 class Test {
 5     public function index() {
 6         $request = Request::instance();
 7          // 是否为 GET 请求
 8         if (Request::instance()->isGet()) echo "当前为 GET 请求";
 9         // 是否为 POST 请求
10         if (Request::instance()->isPost()) echo "当前为 POST 请求";
11         // 是否为 PUT 请求
12         if (Request::instance()->isPut()) echo "当前为 PUT 请求";
13         // 是否为 DELETE 请求
14         if (Request::instance()->isDelete()) echo "当前为 DELETE 请求";
15         // 是否为 Patch 请求
16         if (Request::instance()->isPatch()) echo "当前为 PATCH 请求";
17     }
18 }

复制代码


 参数验证规则:

复制代码

 1 <?php
 2 namespace app\index\controller;
 3 use \think\Validate;
 4 class Test {
 5     public function index() {
 6         $rule = [
 7             //utf-8 一个字符对应3个字母/数字 对应2个汉字(所以这里可以入3个字母/数字或者一个汉字)
 8             'name' => 'require|max:3',
 9             'age' => 'number|between:1,120',
10             'email' => 'email',
11         ];
12         $msg = [
13             'name.require' => '名称必须',
14             'name.max' => '名称最多不能超过3个字符',
15             'age.number' => '年龄必须是数字',
16             'age.between' => '年龄只能在1-120之间',
17             'email' => '邮箱格式错误',
18         ];
19         $data = input('post.');
20         $validate = new Validate($rule, $msg);
21         $result = $validate->check($data);
22         if (!$result) {
23             dump($validate->getError());
24         }
25     }
26 }

复制代码

效果:

 **连接数据库**

复制代码

/* 数据库设置 */
'database' => [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => '127.0.0.1',
    // 数据库名
    'database'    => 'thinkphp',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => '',
    // 数据库连接端口
    'hostport'    => '',
    // 数据库连接参数
    'params'      => [],
    // 数据库编码默认采用utf8
    'charset'     => 'utf8',
    // 数据库表前缀
    'prefix'      => '',
    // 数据库调试模式
    'debug'       => false,
],

复制代码

 **原生sql语句查询**

复制代码

 1 <?php
 2 namespace app\index\controller;
 3 use think\Db;
 4 class Index
 5 {
 6     public function index()
 7     {
 8         $res = Db::query('select version()');
 9         return $res;
10     }
11 }

复制代码

 设置路由:

 

 

[Haima的博客] http://www.cnblogs.com/haima/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值