thinkphp5-restfulapi
Php
PHP
共214个文件
php: 170
png: 11
gitignore: 5
md: 4
tpl: 4
txt: 3
htaccess: 3
stub: 3
json: 2
xml: 2
thinkphp5 restfulAPI 基于tp5的restful风格接口,带简单的oauth2.0授权
ThinkPHP5 restfulapi
Github最新地址:https://github.com/Leslin/thinkphp5-restfulapi
基于ThinkPHP5 基础上开发的一个简单的restful api ,带权限验证等
ThinkPHP5的运行环境要求PHP5.4以上。
详细开发文档参考 ThinkPHP5完全开发手册
目录结构
初始的目录结构如下:
www WEB部署目录(或者子目录)
├─application 应用目录
│ ├─common 公共模块目录(可以更改)
│ ├─api 接口目录
│ │ ├─controller 控制器目录
│ │ │ ├─v1 版本1目录
| | | ├─v2 版本2目录
│ │ ├─Api.php 授权基类
│ │ ├─Oauth.php 授权验证
│ │ ├─Send.php 返回格式
│ │ ├─model 模型目录
| | ├─model
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ │
│ ├─command.php 命令行工具配置文件
│ ├─common.php 公共函数文件
│ ├─config.php 公共配置文件
│ ├─route.php 路由配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─database.php 数据库配置文件
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─thinkphp 框架系统目录
│ ├─lang 语言文件目录
│ ├─library 框架类库目录
│ │ ├─think Think类库包目录
│ │ └─traits 系统Trait目录
│ │
│ ├─tpl 系统模板目录
│ ├─base.php 基础定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 框架惯例配置文件
│ ├─helper.php 助手函数文件
│ ├─phpunit.xml phpunit配置文件
│ └─start.php 框架入口文件
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
流程
router.php中定义了restful资源路由,具体请查看代码。
访问相应的url,例如:http://localhost/tp5test/public/index.php/v1/user
user控制器是集成了Api类,会在初始化检测user控制器定义的访问限制 $restMethodList = 'get|post|put';
在Api类中,会有方法checkAuth()检测用户是否有权限调用接口
checkAuth方法会调用Oauth类中的鉴权,$baseAuth = Factory::getInstance(\app\api\controller\OAuth::class);
根据用户端传递过来的app_key获取缓存中的access_token,在进行对比,如果true,则可以调用user中的各种方法,否则返回不能调用原因
Oauth类中的具体请看代码
生成access_token,缓存access_token等相关逻辑在v1/Token.php代码中,使用的是本地缓存,如果需要使用数据库或者redis请查询相关注释说明
写的比较乱,直接看片段截图把。。。。
相关流程截图
用户类
Api类
Oauth类
v1/Token类
测试
快速创建一个restful控制器
cd 到项目根目录
命令行 :php think make:controller api/controller/v1/Goods
修改路由,注册一个资源路由:在route.php加入下面一行代码:
Route::resource(':version/goods','api/:version.Goods');
其他说明
交流QQ群号:645233951
版权信息
遵循Apache2开源协议发布,并提供免费使用。
更多细节参阅 LICENSE.txt
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于ThinkPHP 5的RESTful API源码:包含214个文件,使用PHP技术开发,实现了一个基于TP5框架的RESTful风格接口,支持简单的OAuth2.0授权,适合用于构建企业级API服务。
资源推荐
资源详情
资源评论
收起资源包目录
基于ThinkPHP 5的RESTful API设计源码 (213个子文件)
hiddeninput.exe 9KB
.gitignore 43B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.gitignore 14B
.htaccess 224B
.htaccess 13B
.htaccess 13B
favicon.ico 1KB
composer.json 869B
composer.json 598B
LICENSE 1KB
CONTRIBUTING.md 4KB
Query.php 90KB
Model.php 67KB
Route.php 60KB
Request.php 50KB
Template.php 46KB
Validate.php 40KB
Process.php 31KB
Builder.php 30KB
Connection.php 30KB
Cx.php 24KB
Console.php 21KB
App.php 21KB
Loader.php 19KB
helper.php 18KB
BelongsToMany.php 18KB
Url.php 13KB
Input.php 13KB
TagLib.php 13KB
Descriptor.php 12KB
Console.php 12KB
Session.php 11KB
Command.php 11KB
Merge.php 11KB
File.php 11KB
Autoload.php 11KB
convention.php 10KB
Definition.php 10KB
Ask.php 10KB
OneToOne.php 10KB
Paginator.php 9KB
HasMany.php 9KB
MorphMany.php 9KB
config.php 9KB
Response.php 9KB
Collection.php 9KB
MorphTo.php 9KB
Handle.php 8KB
Socket.php 8KB
Build.php 8KB
MorphOne.php 7KB
Cookie.php 7KB
BelongsTo.php 7KB
Debug.php 7KB
File.php 7KB
Lang.php 7KB
View.php 7KB
Db.php 7KB
HasOne.php 7KB
Style.php 6KB
Controller.php 6KB
Windows.php 6KB
Cache.php 6KB
Sqlite.php 6KB
Config.php 6KB
Console.php 6KB
Output.php 6KB
Log.php 6KB
Option.php 6KB
Think.php 6KB
Memcached.php 6KB
Formatter.php 6KB
Driver.php 6KB
Bootstrap.php 5KB
Php.php 5KB
Redis.php 5KB
Token.php 5KB
Builder.php 5KB
Unix.php 5KB
Question.php 5KB
Memcache.php 5KB
Lite.php 5KB
Jump.php 5KB
HasManyThrough.php 5KB
Choice.php 5KB
Hook.php 5KB
File.php 5KB
Schema.php 5KB
Oauth.php 4KB
Html.php 4KB
Xcache.php 4KB
SoftDelete.php 4KB
Wincache.php 4KB
Sqlsrv.php 4KB
Sqlsrv.php 4KB
Mysql.php 4KB
zh-cn.php 4KB
共 213 条
- 1
- 2
- 3
资源评论
沐知全栈开发
- 粉丝: 4745
- 资源: 3373
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功