thinkphp下发api

释放双眼,带上耳机,听听看~!

新建一个数据库immoc_app_book,建立一个表ent_books

CREATE TABLE `ent_books` (

  `booid` int(11) NOT NULL,

  `bookName` varchar(20) DEFAULT NULL,

  `icon` text,

  `book_description` text

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `ent_books` (`booid`, `bookName`, `icon`, `book_description`) VALUES

(1, ‘aa’, ‘http://pij4ed5ao.bkt.clouddn.com/1.jpg’, ‘aa1’),

(2, ‘bb’, ‘http://pij4ed5ao.bkt.clouddn.com/22.jpg’, ‘bb1’),

(3, ‘cc’, ‘http://pij4ed5ao.bkt.clouddn.com/33.jpeg’, ‘cc1’);

ALTER TABLE `ent_books`

  ADD PRIMARY KEY (`booid`);

ALTER TABLE `ent_books`

  MODIFY `booid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

首先要连接服务器的数据库:

在application下面写一个database.php:

return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'immoc_app_book',
    // 用户名
    'username'        => 'root',
    // 密码
    'password'        => '',
    // 端口
    'hostport'        => '3306',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'ent_',
    // 数据库调试模式
    'debug'           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 数据集返回类型
    'resultset_type'  => 'array',
    // 自动写入时间戳字段
    'auto_timestamp'  => false,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
];

在app/common/model底下建立Books.php

/**
 * Created by PhpStorm.
 * User: baidu
 * Date: 17/7/27
 * Time: 下午5:57
 */
namespace app/common/model;
use think/Model;
use app/common/model/Base;

class Books extends Base {


    public function getBooks($data = []) {

        $result = $this->select();
        return $result;
    }

}

然后在application下建立route.php

Route::resource('api/:ver/books', 'api/:ver.books');

在app/api/controller/v1下建立Books.php

namespace app/api/controller/v1;

use app/api/controller/Common;
use think/Controller;
use app/common/lib/exception/ApiException;
use app/common/lib/Aes;

class Books extends Controller
{

    public function index()
    {
        // 小伙伴仿照我们之前讲解的validate验证机制 去做相关校验
        $data = input('get.');
        $result = model('Books')->getBooks();
        return $result;
    }
}

最后在浏览器输入:http://139.199.89.89/api/v1/books

返回是:

[

    {

        “booid”: 1,

        “bookName”: “aa”,

        “icon”: “http://pij4ed5ao.bkt.clouddn.com/1.jpg”,

        “book_description”: “aa1”

    },

    {

        “booid”: 2,

        “bookName”: “bb”,

        “icon”: “http://pij4ed5ao.bkt.clouddn.com/22.jpg”,

        “book_description”: “bb1”

    },

    {

        “booid”: 3,

        “bookName”: “cc”,

        “icon”: “http://pij4ed5ao.bkt.clouddn.com/33.jpeg”,

        “book_description”: “cc1”

    }

]

代码在https://coding.net/u/nickgao/p/phpUserLogin/git

【转自慕课】https://www.imooc.com

ThinkPHP

使用钉钉机器人实现项目运行预警推送

2022-3-3 18:16:35

ThinkPHP

ThinkPHP 框架下邮件发送功能

2022-3-3 18:32:41

搜索