简介
TRR 开源地址
Github: https://github.com/china-wang…
Gitee: https://gitee.com/china_wangy…
博客:https://china-wangyu.github.io/
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 时必定会用到的技能,你得做一个评估,查看自己是否可以无障碍使用。
涉及技术或框架
-
PHP7.1
一种支持热编译的脚本语言你需要熟练掌握
PHP7.1
相关知识点,如果你精通此技能那就再好不过了,不精通也没关系,请根据我收集的教程和资料进行学习-
PHP
官方文档: https://php.net/manual/zh/ - 【极客学院】PHP 全套教学视频: https://www.bilibili.com/video/av10274152?from=search&seid=2228250606023131784
- 韩顺平 php 从入门到精通: https://pan.baidu.com/s/1YDQo… 提取码: 6hyy
-
-
ThinkPHP5.1
:中国比较流行且会一直流行的 PHP 框架如果你对
ThinkPHP5.1
不太了解,或者一知半解,请到官方文档进行查阅,补充效果知识点。
官方文档 -
Reflection
PHP 反射机制如果你对 PHP 反射相关知识点不是很了解,推荐先进行了解一下
-
PHP
官方文档: https://php.net/manual/zh/book.reflection.php -
ThinkPHP5.1
反射相关知识点: https://www.kancloud.cn/manual/thinkphp5_1/469333 -
wangyu/reflex-core composer
扩展使用: https://github.com/china-wangyu/php-reflex-core
-
-
Restful API
是一种 API 接口设计风格或者说潮流如果你对
Restful API
还不了解,我收集了一些比较好的译文。–
RESTful
架构风格概述: https://juejin.im/entry/57c7a323a633bd006cfc1d84-
Restful API PHP
的学习视频: https://www.imooc.com/learn/811
-
-
Composer
是php
最为流行和使用最多的第三方扩展库推荐使用 阿里云
composer
镜像源 1 分钟内快速同步,稳定可靠如果你对
Composer
了解不够,请仔细阅读我收集的一些资料。-
composer
入门中文文档: https://docs.phpcomposer.com/ -
composer
安装文档: https://packagist.laravel-china.org/ -
composer
更换国内源: https://segmentfault.com/a/1190000019651993
-
到此,相信你对 TRR 有了一定的了解了,对 TRR 项目需要用到的技术有个清晰的了解,如果你还是不太清楚,请继续在网上寻找资源学习吧,
加油,明天会更美丽。
快速开始
在你项目文件夹内, 点击鼠标右键 打开 git Bash Here
在 git bash
命令行里使用以下命令
1. 检查服务端必备环境
- 安装
PHP
环境(version:7.1
及以上) - 安装
Git
环境(version:1.8
及以上) - 安装
Composer
环境(version:1.8
及以上)
2. 获取项目源码
获取项目源码
git clone https://github.com/china-wangyu/TRR.git
在进入项目目录
cd TRR
3. 安装项目依赖
安装依赖
composer install
4. 运行项目
为了防止 PHP 各种集成和非集成软件环境问题,本项目开发期间希望各位使用 ThinkPHP5.1
内置服务
有关文档: https://www.kancloud.cn/manual/thinkphp5_1/518750
php think run -H 127.0.0.1 -p 8000
效果如下,就代表你启动内置服务成功了
# F:\project\open-source-object\Trr\2019-7-6\TRR [master +0 ~217 -0 !]
# λ php think run -H 127.0.0.1 -p 8000
# ThinkPHP Development server is started On <http://127.0.0.1:8000/>
# You can exit with `CTRL-C`
# Document root is: F:\project\open-source-object\Trr\2019-7-6\TRR\public
5. 浏览器访问
访问地址: http://127.0.0.1:8000/
其他功能
创建 JWT
的 Token
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"
}
刷新 JWT
的 Token
route: http://127.0.0.1:8000/auth/refresh
method: get
header: 需要设置:authorization
返回效果:
{"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MTE0OTMsImV4cCI6MTU2MjQxODY5MywidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.4siwrzghm-r_SZNz-SUwkI3Of-9Hx9vOHMYdHXjf7rA"}
生成 markdown
格式的 API
文档
-
命令行生成
在项目根目录下打开
cmd
或终端
输入以下命令php think trr:build
效果如下,代表文档生成成功:
F:\project\open-source-object\Trr\2019-7-6\TRR [master ≡ +0 ~217 -0 !] λ php think trr:build Successful. Output Document Successful . File Path:api-md.md
-
使用
WangYu/Doc
类生成文档实现代码如下:
<?php namespace app\index\controller; class Index { // 创建 API Markdown 文档 public function build() {$doc = new \WangYu\Doc('api 模块','生成的 API 文档名称'); $doc->execute();} }
访问
Index
类下的build
方法,就会在项目根目录
创建你的 API 文档了
维护与提问
更新
由于目前 TRR 目前还处在不断迭代更新阶段,TP5.1 版本也在持续跟进,所以本课程的内容也会随着适配的进度而增加或者调整。
完善
局限于个人技术水平和写作能力,如果教程中有哪些地方读者觉得不对或者看不懂需要再讲仔细些可以随时提出。
催更、提问
读者对本教程或者 GitHub 项目有任何疑问、建议都可以在作者 GitHub 仓库提个 issues
交流
加【TRR 官方群】QQ 群: 860613750
版权信息
TRR 遵循 MIT 开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有 Copyright © 2006-2019 by TRR
All rights reserved。