TRR · v0.0.2 · 立志做最简单、易上手、易扩展、易维护的TP反射注释路由架构
TRR
文档目录
简介
TRR是什么
TRR 是ThinkPHP51 Reflection Restful API
(注:API设计风格) 的字母第一个字符大写后拼接而来,
从ThinkPHP51 Reflection Restful API
全称可以看出来,
这套接口框架设计主要围绕反射
来做Restful API接口设计
的。
TRR可以做什么
介绍
- 你可以先了解一下ThinkPHP5.1能做什么。
- ThinkPHP5.1 能做的都能做,而且在反射路由方面,我们比ThinkPHP5.1更为专注。
专注做什么:
- 反射 API 接口路由
- 反射 API 接口文档生成
- 反射 API 参数快速验证
- 让接口开发更简单、直观、迅捷
- 让接口维护更轻松、明了、快速
我们专注研究PHP反射相关的知识点,想让PHP
web
功能开发、接口开发更加简单、迅捷。
想让更多的朋友更加专注于业务开发,不再反复去做路由添加、修改,接口文档编写等一些列的问题
我们只想你的项目更快、更稳定、更以维护的成型。
TRR使用须知
使用TRR时必定会用到的技能,你得做一个评估,查看自己是否可以无障碍使用。
TRR
技术或框架
PHP7.1
一种支持热编译的脚本语言你需要熟练掌握
PHP7.1
相关知识点,如果你精通此技能那就再好不过了,不精通也没关系,请根据我收集的教程和资料进行学习ThinkPHP5.1
:中国比较流行且会一直流行的PHP框架如果你对
ThinkPHP5.1
不太了解,或者一知半解,请到官方文档进行查阅,补充效果知识点。 👉 点我了解 👈Reflection
PHP 反射机制如果你对 PHP 反射相关知识点不是很了解,推荐先进行了解一下
Restful API
是一种API接口设计风格或者说潮流如果你对
Restful API
还不了解,我收集了一些比较好的译文。-
RESTful
架构风格概述: 👉 点我了解 👈Restful API PHP
的学习视频: 👉 点我了解 👈
Composer
是php
最为流行和使用最多的第三方扩展库推荐使用 阿里云
composer
镜像源 1分钟内快速同步,稳定可靠如果你对
Composer
了解不够,请仔细阅读我收集的一些资料。
到此,相信你对TRR有了一定的了解了,对TRR项目需要用到的技术有个清晰的了解,如果你还是不太清楚,请继续在网上寻找资源学习吧, 加油,明天会更美丽。
入门
Git
拉取源代码git clone https://github.com/china-wangyu/TRR.git
1在进入项目目录
cd TRR
1Composer
安装依赖扩展composer install
1运行项目
为了防止PHP各种集成和非集成软件环境问题, 本项目开发期间希望各位使用
ThinkPHP5.1
内置服务 相关文档: 👉 点我了解 👈php think run -H 127.0.0.1 -p 8000
1启动效果
浏览器访问
然后你可以直接在浏览器里面访问
http://127.0.0.1:8000/
1
功能
功能依赖
TRR
0.0.2
版本依靠的是wangyu/tp-anntation
扩展TRR
的Api to Markdown 文档
也是根据wangyu/tp-anntation
扩展的WangYu\annotation\DocCommand
类TRR
的注解验证器@validate / @param
也是根据wangyu/tp-anntation
扩展的WangYu\annotation\Validate
类TRR
的注解验证器@route / @group / @middleware
也是根据wangyu/tp-anntation
扩展的WangYu\annotation\Route
类
Api
文档
创建注册
trr:doc
命令行脚本thinkphp5.1 脚本配置文件在
application/command.php
配置内容:
<?php return [ 'trr:doc'=> WangYu\annotation\DocCommand::class ];
1
2
3
4
5使用
thinkphp5.1
命令行 执行trr:doc
当前项目打开命令行,执行以下脚本
php think trr:doc
1执行结果
G:\project\open-source\new-my-open-source\TRR>php think trr:doc Successful. Output Document Successful . File Path :api-doc.html
1
2
JWT
做REST API
权限验证
使用创建
JWT
route:http://127.0.0.1:8000/auth?name=trr&password=trr
method:
post
返回效果:
{ "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MDk2MDgsImV4cCI6MTU2MjQxNjgwOCwidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.MXXGcK2xjAznzcC-PQ66dRAo30Wn1poNLCNbFcO7ORA", "refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MDk2MDgsInV1aWQiOjEwMCwic2lnbmF0dXJlIjoidHJyIn0.RBs5iOSTjC89Z6H4CPl9tNyXHOhtmuPQPd7JOB_n5JY" }
1
2
3
4刷新
JWT
的Token
route:
http://127.0.0.1:8000/auth/refresh
method:
get
header: 需要设置:
authorization
返回效果:
{ "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MTE0OTMsImV4cCI6MTU2MjQxODY5MywidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.4siwrzghm-r_SZNz-SUwkI3Of-9Hx9vOHMYdHXjf7rA" }
1
2
3
项目演示
官方运行示例
官方运行示例: 👉 点我了解 👈
API markdown 文档
示例
官方官方API markdown 文档
示例: 👉 点我了解 👈
API html 文档
示例
官方官方API html 文档
示例: 👉 点我了解 👈
本地运行示例
本地运行示例: http://127.0.0.1:8000/
API Markdown文档
示例
本地本地API Markdown文档
示例: http://127.0.0.1:8000/apiShow
API Html 文档
示例
本地本地API Html 文档
示例: http://127.0.0.1:8000/apiView
维护与提问
更新
由于目前TRR目前还处在不断迭代更新阶段,TP5.1版本也在持续跟进,所以本课程的内容也会随着适配的进度而增加或者调整。
完善
局限于个人技术水平和写作能力,如果教程中有哪些地方读者觉得不对或者看不懂需要再讲仔细些可以随时提出。
催更、提问
读者对本教程或者GitHub项目有任何疑问、建议都可以在作者GitHub仓库提个issues
交流
加【TRR 官方群】QQ群: 860613750
请我喝茶
如果你觉得本项目帮助到你,想请作者喝杯茶 , 请扫码打赏任意金额
打赏名单详细: 👉 点我了解 👈
下阶段开发计划
- [ ] 注解接口自检(接口一键验证)
- [x] 注解接口文档生成
- [x] 注解验证器场景
- [x] 注解验证器
- [x] 注解路由分组
- [x] 注解中间件
- [x] 注解路由
版权信息
TRR 遵循 MIT 开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2006-2019 by TRR
All rights reserved。