tp5.1API版本路由

支持多版本案例
实例参考官方快速入门文档
官方文档ThinkPHP5快速入门
之 API开发

项目目录结构
项目结构如下: 支持多版本功能,核心是理解 tp 框架路由配置,通过 动态路由 功能来实现自动识别

tpsnoopy
├─index.php 入口文件

├─apps 应用目录(可设置)
│ ├─common 公共模块目录(可选)
│ ├─api 模块1目录
│ │ ├─common.php 模块函数文件
│ │ ├─config 模块配置目录(可选)
│ │ ├─controller 控制器目录
│ │ | |─v1─Apiver.php 版本1接口控制器
│ │ | |─v2─Apiver.php 版本2接口控制器
│ │ ├─model 模型目录(可选)
│ │ ├─view 视图目录(可选)
│ │ └─ … 更多类库目录
│─route 路由配置目录
│ │─route.php 版本1接口控制器
index.php 进入口

<?php namespace think; // [ 应用入口文件 ] // 定义应用目录 // supper tp5.1 if (!defined('DS')) { define('DS', DIRECTORY_SEPARATOR); } define('APP_PATH', __DIR__ . './apps/'); // 加载框架引导文件 require __DIR__ . './thinkphp/base.php'; // 执行应用并响应 Container::get('app', [APP_PATH])->run()->send(); route.php 配置如下 <?php use think\facade\Route; //api接口版本路由配置 Route::rule(':version/apiver/:id','api/:version.Apiver/read'); return []; 版本1 api/controller/v1/Apiver.php <?php namespace app\api\controller\v1; use think\Controller; use think\Request; class Apiver extends Controller { /** * 显示资源列表 * * @return \think\Response */ public function read($id) { // echo ' v1->apiver '.$id; // return json(['msg'=>'index_index']); return json(['id'=>$id,'msg'=>'apver v1']); } } 版本2 api/controller/v2/Apiver.php <?php namespace app\api\controller\v2; use think\Controller; use think\Request; class Apiver extends Controller { /** * 显示资源列表 * * @return \think\Response */ public function read($id) { // return json(['msg'=>'index_index']); return json(['id'=>$id,'msg'=>'v2']); } } 测试 访问版本1接口 http://127.0.0.1/tpsnoopy/index.php/v1/apiver/id/15 访问版本2接口 http://127.0.0.1/tpsnoopy/index.php/v2/apiver/id/15
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值