TRR 立志做最简单、易上手、易扩展、易维护的TP反射注释路由架构

简介

TRR 开源地址

Github: https://github.com/china-wangyu/TRR

Gitee: https://gitee.com/china_wangyu/TRR

TRR 是什么?

TRR 是` ThinkPHP51 Reflection Restful API`(注:API设计风格) 的字母第一个字符大写后拼接而来,

从`ThinkPHP51 Reflection Restful API`全称可以看出来,

这套接口框架设计主要围绕`反射`来做`Restful API接口设计`的。

TRR 可以做什么?

1. 你可以先了解一下`ThinkPHP5.1`能做什么。

2. `ThinkPHP5.1` 能做的都能做,而且在反射路由方面,我们比`ThinkPHP5.1`更为专注

专注做什么:

* 反射 API 接口路由

* 反射 API 接口文档生成

* 反射 API 参数快速验证

* 让接口开发更简单、直观、迅捷

* 让接口维护更轻松、明了、快速

我们专注研究PHP反射相关的知识点,想让`PHP` `web`功能开发、接口开发更加简单、迅捷。

想让更多的朋友更加专注于业务开发,不再反复去做路由添加、修改,接口文档编写等一些列的问题

我们只想你的项目更快、更稳定、更以维护的成型。

使用须知

在使用TRR时必定会用到的技能,你得做一个评估,查看自己是否可以无障碍使用。

涉及技术或框架

* ` PHP7.1 ` 一种支持热编译的脚本语言

    你需要熟练掌握` PHP7.1 `相关知识点,如果你精通此技能那就再好不过了,不精通也没关系,请根据我收集的教程和资料进行学习


    - `PHP` 官方文档: [https://php.net/manual/zh/](https://php.net/manual/zh/)

    - 【极客学院】PHP全套教学视频: [https://www.bilibili.com/video/av10274152?from=search&seid=2228250606023131784](https://www.bilibili.com/video/av10274152?from=search&seid=2228250606023131784)

    - 韩顺平php从入门到精通:  https://pan.baidu.com/s/1YDQoLodysxCP4rAyyTgD_Q 提取码: 6hyy



* `ThinkPHP5.1` :中国比较流行且会一直流行的PHP框架


    如果你对`ThinkPHP5.1`不太了解,或者一知半解,请到官方文档进行查阅,补充效果知识点。

    [官方文档](https://www.kancloud.cn/manual/thinkphp5_1/content)

* `Reflection` PHP 反射机制

    如果你对 PHP 反射相关知识点不是很了解,推荐先进行了解一下


    - `PHP`官方文档: [https://php.net/manual/zh/book.reflection.php](https://php.net/manual/zh/book.reflection.php)

    - `ThinkPHP5.1` 反射相关知识点: [https://www.kancloud.cn/manual/thinkphp5_1/469333](https://www.kancloud.cn/manual/thinkphp5_1/469333)

    - `wangyu/reflex-core composer`扩展使用: [https://github.com/china-wangyu/php-reflex-core](https://github.com/china-wangyu/php-reflex-core)

* `Restful API` 是一种API接口设计风格或者说潮流

    如果你对 `Restful API` 还不了解,我收集了一些比较好的译文。


    -` RESTful `架构风格概述: [https://juejin.im/entry/57c7a323a633bd006cfc1d84](https://juejin.im/entry/57c7a323a633bd006cfc1d84)

    - `Restful API PHP`的学习视频: [https://www.imooc.com/learn/811](https://www.imooc.com/learn/811)

* `Composer` 是`php`最为流行和使用最多的第三方扩展库


    > 推荐使用 阿里云`composer`镜像源 1分钟内快速同步,稳定可靠

    如果你对 `Composer` 了解不够,请仔细阅读我收集的一些资料。


    - `composer` 入门中文文档: [https://docs.phpcomposer.com/](https://docs.phpcomposer.com/)

    - `composer` 安装文档: [https://packagist.laravel-china.org/](https://packagist.laravel-china.org/)

    - `composer` 更换国内源: [https://segmentfault.com/a/1190000019651993](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](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](https://github.com/china-wangyu/TRR/issues) 

### 交流

加【TRR 官方群】QQ群: `860613750`


## 版权信息

TRR 遵循 MIT 开源协议发布,并提供免费使用。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2006-2019 by TRR

All rights reserved。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351