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


7/22/2019 TRR v0.0.2


TRR

php version ThinkPHP version LISENCE

文档目录

简介

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使用须知

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

TRR技术或框架

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

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

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

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

  • Reflection PHP 反射机制

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

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

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

    -RESTful架构风格概述: 👉 点我了解 👈

  • Composerphp最为流行和使用最多的第三方扩展库

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

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

到此,相信你对TRR有了一定的了解了,对TRR项目需要用到的技术有个清晰的了解,如果你还是不太清楚,请继续在网上寻找资源学习吧, 加油,明天会更美丽。

入门

  1. Git 拉取源代码

    git clone https://github.com/china-wangyu/TRR.git
    
    1
  2. 在进入项目目录

    cd TRR
    
    1
  3. Composer 安装依赖扩展

    composer install
    
    1
  4. 运行项目

    为了防止PHP各种集成和非集成软件环境问题, 本项目开发期间希望各位使用 ThinkPHP5.1内置服务 相关文档: 👉 点我了解 👈

    php think run -H 127.0.0.1 -p 8000
    
    1

    启动效果 TP5.1启动效果

  5. 浏览器访问

    然后你可以直接在浏览器里面访问

    http://127.0.0.1:8000/
    
    1

功能

功能依赖

  • TRR 0.0.2版本依靠的是 wangyu/tp-anntation扩展
  • TRRApi 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文档

  1. 注册trr:doc命令行脚本

    thinkphp5.1 脚本配置文件在 application/command.php

    配置内容:

    <?php
    
    return [
        'trr:doc'=> WangYu\annotation\DocCommand::class
    ];
    
    1
    2
    3
    4
    5
  2. 使用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

使用JWTREST API权限验证

  1. 创建 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
  2. 刷新 JWTToken

    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。

Last Updated: 9/5/2019, 10:54:35 AM