簡(jiǎn)介
TRR 開源地址
Github: https://github.com/china-wangyu/TRR
Gitee: https://gitee.com/china_wangyu/TRR
TRR 是什么?
TRR 是` ThinkPHP51 Reflection Restful API`(注:API設(shè)計(jì)風(fēng)格) 的字母第一個(gè)字符大寫后拼接而來,
從`ThinkPHP51 Reflection Restful API`全稱可以看出來顿苇,
這套接口框架設(shè)計(jì)主要圍繞`反射`來做`Restful API接口設(shè)計(jì)`的峭咒。
TRR 可以做什么?
1. 你可以先了解一下`ThinkPHP5.1`能做什么纪岁。
2. `ThinkPHP5.1` 能做的都能做凑队,而且在反射路由方面,我們比`ThinkPHP5.1`更為專注
專注做什么:
* 反射 API 接口路由
* 反射 API 接口文檔生成
* 反射 API 參數(shù)快速驗(yàn)證
* 讓接口開發(fā)更簡(jiǎn)單幔翰、直觀顽决、迅捷
* 讓接口維護(hù)更輕松、明了导匣、快速
我們專注研究PHP反射相關(guān)的知識(shí)點(diǎn)才菠,想讓`PHP` `web`功能開發(fā)、接口開發(fā)更加簡(jiǎn)單贡定、迅捷赋访。
想讓更多的朋友更加專注于業(yè)務(wù)開發(fā),不再反復(fù)去做路由添加缓待、修改蚓耽,接口文檔編寫等一些列的問題
我們只想你的項(xiàng)目更快、更穩(wěn)定旋炒、更以維護(hù)的成型步悠。
使用須知
在使用TRR時(shí)必定會(huì)用到的技能,你得做一個(gè)評(píng)估瘫镇,查看自己是否可以無障礙使用鼎兽。
涉及技術(shù)或框架
* ` PHP7.1 ` 一種支持熱編譯的腳本語言
? ? 你需要熟練掌握` PHP7.1 `相關(guān)知識(shí)點(diǎn),如果你精通此技能那就再好不過了铣除,不精通也沒關(guān)系谚咬,請(qǐng)根據(jù)我收集的教程和資料進(jìn)行學(xué)習(xí)
? ? - `PHP` 官方文檔: [https://php.net/manual/zh/](https://php.net/manual/zh/)
? ? - 【極客學(xué)院】PHP全套教學(xué)視頻: [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` :中國比較流行且會(huì)一直流行的PHP框架
? ? 如果你對(duì)`ThinkPHP5.1`不太了解,或者一知半解尚粘,請(qǐng)到官方文檔進(jìn)行查閱择卦,補(bǔ)充效果知識(shí)點(diǎn)。
? ? [官方文檔](https://www.kancloud.cn/manual/thinkphp5_1/content)
* `Reflection` PHP 反射機(jī)制
? ? 如果你對(duì) PHP 反射相關(guān)知識(shí)點(diǎn)不是很了解郎嫁,推薦先進(jìn)行了解一下
? ? - `PHP`官方文檔: [https://php.net/manual/zh/book.reflection.php](https://php.net/manual/zh/book.reflection.php)
? ? - `ThinkPHP5.1` 反射相關(guān)知識(shí)點(diǎn): [https://www.kancloud.cn/manual/thinkphp5_1/469333](https://www.kancloud.cn/manual/thinkphp5_1/469333)
? ? - `wangyu/reflex-core composer`擴(kuò)展使用: [https://github.com/china-wangyu/php-reflex-core](https://github.com/china-wangyu/php-reflex-core)
* `Restful API` 是一種API接口設(shè)計(jì)風(fēng)格或者說潮流
? ? 如果你對(duì) `Restful API` 還不了解秉继,我收集了一些比較好的譯文。
? ? -` RESTful `架構(gòu)風(fēng)格概述: [https://juejin.im/entry/57c7a323a633bd006cfc1d84](https://juejin.im/entry/57c7a323a633bd006cfc1d84)
? ? - `Restful API PHP`的學(xué)習(xí)視頻: [https://www.imooc.com/learn/811](https://www.imooc.com/learn/811)
* `Composer` 是`php`最為流行和使用最多的第三方擴(kuò)展庫
? ? > 推薦使用 阿里云`composer`鏡像源 1分鐘內(nèi)快速同步泽铛,穩(wěn)定可靠
? ? 如果你對(duì) `Composer` 了解不夠尚辑,請(qǐng)仔細(xì)閱讀我收集的一些資料。
? ? - `composer` 入門中文文檔: [https://docs.phpcomposer.com/](https://docs.phpcomposer.com/)
? ? - `composer` 安裝文檔: [https://packagist.laravel-china.org/](https://packagist.laravel-china.org/)
? ? - `composer` 更換國內(nèi)源: [https://segmentfault.com/a/1190000019651993](https://segmentfault.com/a/1190000019651993)
到此厚宰,相信你對(duì)TRR有了一定的了解了腌巾,對(duì)TRR項(xiàng)目需要用到的技術(shù)有個(gè)清晰的了解遂填,如果你還是不太清楚,請(qǐng)繼續(xù)在網(wǎng)上尋找資源學(xué)習(xí)吧澈蝙,
加油吓坚,明天會(huì)更美麗。
快速開始
在你項(xiàng)目文件夾內(nèi),點(diǎn)擊鼠標(biāo)右鍵 打開 `git Bash Here`
在 `git bash` 命令行里使用以下命令
?1. 檢查服務(wù)端必備環(huán)境
* 安裝`PHP`環(huán)境(version: `7.1` 及以上)
* 安裝`Git`環(huán)境(version: `1.8` 及以上)
* 安裝`Composer`環(huán)境(version: `1.8` 及以上)
?2. 獲取項(xiàng)目源碼
獲取項(xiàng)目源碼
git clone https://github.com/china-wangyu/TRR.git
在進(jìn)入項(xiàng)目目錄
cd TRR
3. 安裝項(xiàng)目依賴
安裝依賴
composer install
### 4. 運(yùn)行項(xiàng)目
為了防止PHP各種集成和非集成軟件環(huán)境問題灯荧,本項(xiàng)目開發(fā)期間希望各位使用 `ThinkPHP5.1`內(nèi)置服務(wù)
有關(guān)文檔: [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
效果如下礁击,就代表你啟動(dòng)內(nèi)置服務(wù)成功了
# 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/
## 其他功能
### 創(chuàng)建 `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: 需要設(shè)置:`authorization`
返回效果:
{
? ? "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJUUlIiLCJpYXQiOjE1NjI0MTE0OTMsImV4cCI6MTU2MjQxODY5MywidXVpZCI6MTAwLCJzaWduYXR1cmUiOiJ0cnIifQ.4siwrzghm-r_SZNz-SUwkI3Of-9Hx9vOHMYdHXjf7rA"
}
### 生成 `markdown` 格式的 `API` 文檔
- 命令行生成
? ? 在項(xiàng)目根目錄下打開 `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` 類生成文檔
? 實(shí)現(xiàn)代碼如下:
? <?php
? namespace app\index\controller;
? class Index
? ? {
? ? ? ? // 創(chuàng)建 API Markdown 文檔
? ? ? ? public function build()
? ? ? ? {
? ? ? ? ? ? $doc = new \WangYu\Doc('api 模塊','生成的API文檔名稱');
? ? ? ? ? ? $doc->execute();
? ? ? ? }
? }
? 訪問`Index`類下的`build`方法逗载,就會(huì)在`項(xiàng)目根目錄`創(chuàng)建你的API文檔了?
## 維護(hù)與提問
### 更新
由于目前TRR目前還處在不斷迭代更新階段哆窿,TP5.1版本也在持續(xù)跟進(jìn),所以本課程的內(nèi)容也會(huì)隨著適配的進(jìn)度而增加或者調(diào)整厉斟。
### 完善
局限于個(gè)人技術(shù)水平和寫作能力挚躯,如果教程中有哪些地方讀者覺得不對(duì)或者看不懂需要再講仔細(xì)些可以隨時(shí)提出。
### 催更擦秽、提問
讀者對(duì)本教程或者GitHub項(xiàng)目有任何疑問码荔、建議都可以在作者GitHub倉庫提個(gè)[issues](https://github.com/china-wangyu/TRR/issues)?
### 交流
加【TRR 官方群】QQ群: `860613750`
## 版權(quán)信息
TRR 遵循 MIT 開源協(xié)議發(fā)布,并提供免費(fèi)使用感挥。
本項(xiàng)目包含的第三方源碼和二進(jìn)制文件之版權(quán)信息另行標(biāo)注缩搅。
版權(quán)所有Copyright ? 2006-2019 by TRR
All rights reserved。