使用thinkPHP框架开发api数据接口

使用thinkPHP框架开发api数据接口

学习PHP,不得不提到thinkPHP,强大的国产免费开源框架,也是目前PHP的主流框架之一,今天要分享的是如何用thinkPHP开发数据接口,让接口开发更高效,更稳定。

安装thinkPHP

thinkPHP目前已经升级到8.0版本,从6.0版本只支持Composer方式安装,如果你还没有安装Composer,请先安装Composer。

本文使用thinkPHP 8.0版本,要求PHP版本>8.0.0,安装命令:

  •  
composer create-project topthink/think tp

安装完成之后,命令行运行

  •  
php think run

用浏览器打开终端显示的蓝色地址,如:

  •  
http://localhost:8000/

会看到欢迎页面,恭喜你安装成功了。

配置数据库

在这之前我已经在Mysql创建了一个名为thinkphp的数据库和数据表user。

打开config文件夹中的database.php文件,配置好数据库信息:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
            // 数据库类型            'type'            => env('DB_TYPE', 'mysql'),            // 服务器地址            'hostname'        => env('DB_HOST', '127.0.0.1'),            // 数据库名            'database'        => env('DB_NAME', 'thinkphp'),            // 用户名            'username'        => env('DB_USER', 'youlanjihua'),            // 密码            'password'        => env('DB_PASS', ''),            // 端口            'hostport'        => env('DB_PORT', '3306'),            // 数据库连接参数            'params'          => [],            // 数据库编码默认采用utf8            'charset'         => env('DB_CHARSET', 'utf8'),            // 数据库表前缀            'prefix'          => env('DB_PREFIX', ''),

模型

thinkPHP中的模型相当于一个数据表,在这个模型中完成对数据表的增删改查等操作。

比如我有一个数据表user,对应的模型是User,这里的命名规则是去掉表名前缀,首字母大写,所以表名是user或tp_user对应的模型名字都是User。

在app文件夹下新建model文件夹,创建User.php模型文件,在模型中对表的操作方式如下:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

‘;

    }
public function hello($name = 'ThinkPHP8'){ return 'hello,' . $name; }
public function userList(){ $userModel = new User(); return $userModel->getUserList();    }}

接下来在浏览器端口后加上’/index/userList‘能够请求数据,这样就完成了一个查询接口的开发。

同样的,如果你想写一个添加user接口:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
public function addUser($name,$age){
$userModel = new User(); if( $userModel->addUser($name,$age)){ return "新增成功"; }else{ return "新增失败"; }}

验证

thinkPHP还提供了参数验证器,为开发工作大大提供了便利。

我们以上面的添加数据为例,为接口增加参数验证:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
public function addUser($name,$age){
$rules = [ 'name' => 'require', 'age' => 'require|number' ]; $messages = [ 'name.require' => '请输入名字!', 'age.require' => '请输入年龄!', 'age.number' => '年龄格式错误', ]; $data = [ 'name'=>$name, 'age'=>$age ]; try { validate($rules, $messages)->check($data); $userModel = new User(); if( $userModel->addUser($name,$age)){ return "新增成功"; }else{ return "新增失败"; } } catch (Exception $e) { print_r($e->getMessage()); } }

至此,我们基本开发完成了一个稳定的数据接口。

关注公众号发送‘thinkphp’获取本文源码。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞136 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容