# :-: Thinkphp6.0 源碼分析
隨著 tp6.0 的發布,時刻感受到了開發組在不斷進步,更加貼近 php 社區。
這個系列并不會涉及一些基礎的知識,例如代碼風格之類的,請在實踐開發期間嚴格遵循 `PSR` 規范,如果你不了解什么是 `PSR`,請查看 [鏈接](https://learnku.com/docs/psr)
# Catchadmin 項目實踐
<p align="center">
<img src="https://cdn.learnku.com/uploads/images/202005/17/18206/zSuf7Ce5kM.png!large">
</p>
<p align="center"><code>CatchAdmin</code>是一款基于<a href="http://www.thinkphp.cn/" target="_blank">thinkphp framework</a>和
<a href="https://github.com/PanJiaChen/vue-element-admin/">element admin
</a>二次開發而成后臺管理系統。因為?thinkphp?的簡單高效,文檔齊全。在看了很多?thinkphp?生態中的后臺管理系統,發現沒有一款合適的前后端分離系統。遂開發了?CatchAdmin。完全利用了?thinkphp6?的新版本特性?ServiceProvider,將管理系統模塊之間的耦合降到了最低限度。每個模塊之間都有獨立的?controller,路由,模型,數據表`。在開發上盡可能將模塊之間的影響降到最低,降低了開發上的難度。基于?CatchAdmin?可以開發?cms,CRM,OA?等等系統。也封裝了很多實用的工具,提升開發體驗。</p>
<p align="center">
<a href="http://doc.catchadmin.com/">文檔</a> |
<a href="http://vue.catchadmin.com">演示地址</a> |
<a href="http://apidoc.catchadmin.com">接口文檔</a> |
<a href="https://gitee.com/jaguarjack/catchAdmin">項目源碼</a> |
<a href="http://www.hmoore.net/akasishikelu/thinkphp6">看云分析</a>
<a href="#extensions">擴展</a>
</p>
<p align="center">
<a href="https://gitee.com/jaguarjack/catchAdmin" target="_blank">
<img src="https://svg.hamm.cn/gitee.svg?type=star&user=jaguarjack&project=catchAdmin"/>
</a >
<a href="https://gitee.com/jaguarjack/catchAdmin" target="_blank">
<img src="https://svg.hamm.cn/gitee.svg?type=fork&user=jaguarjack&project=catchAdmin"/>
</a >
<img src="https://svg.hamm.cn/badge.svg?key=Base&value=ThinkPHP6"/>
<img src="https://svg.hamm.cn/badge.svg?key=Data&value=MySQL5.5"/>
<img src="https://svg.hamm.cn/badge.svg?key=Runtime&value=PHP7.1"/>
<img src="https://svg.hamm.cn/badge.svg?key=License&value=Apache-2.0"/>
</p >
## 項目地址
- [github 地址](https://github.com/yanwenwu/catch-admin)
- [gitee 地址](https://gitee.com/jaguarjack/catchAdmin)
- [前端 Vue 項目地址](https://github.com/yanwenwu/catch-admin-vue)
- [文檔地址](https://github.com/catch-admin/document)[個人精力實在有限,希望可以小伙伴們可以一起維護文檔]
## 預覽
<p align="center">
<img src="https://s1.ax1x.com/2020/09/07/wucNXq.md.png">
</p>
<p align="center">
<img src="https://s1.ax1x.com/2020/09/07/wucm6I.md.png">
</p>
## 環境要求
- php7.1+ (需以下擴展)
- [x] mbstring
- [x] json
- [x] openssl
- [x] xml
- [x] pdo
- nginx
- mysql
## 功能
- [x] `用戶管理`?后臺用戶管理
- [x] `部門管理`?配置公司的部門結構,支持樹形結構
- [x] `崗位管理`?配置后臺用戶的職務
- [x] `菜單管理`?配置系統菜單,按鈕等等
- [x] `角色管理`?配置用戶擔當的角色,分配權限
- [x] `數據字典`?管理后臺表結構
- [x] `操作日志`?后臺用戶操作記錄
- [x] `登錄日志`?后臺系統用戶的登錄記錄
- [x] `代碼生成`?生成?API?端的?CURD?操作
- [x] `敏感詞`??支持敏感詞配置
- [x] `附件管理`?可管理上傳的文件
- [x] `定時任務`?可管理定時任務,而不依賴于?Crontab
- [x] `選新平臺`?短信云管理,支持?阿里大于,騰訊云,Ucloud,Submail
- [x] `云上傳`??支持云上傳,七牛,OSS,騰訊
- `微信管理`
### 如何安裝
> 安裝之前請確保已安裝 Composer
#### 下載項目
- 通過 Git 下載(推薦)
```shell
git clone https://gitee.com/jaguarjack/catchAdmin && cd catchAdmin
curl -sS https://install.phpcomposer.com/installer | php
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install
```
- composer 安裝
```shell
composer create-project jaguarjack/catchadmin:dev-master
```
#### 安裝
下載完成之后通過命令來進行安裝, 一鍵安裝 ??
```shell
php think catch:install
```
## 體驗地址
[體驗地址](http://vue.catchadmin.com)
- 賬號: catch@admin.com
- 密碼: catchadmin
[catchadmin 文檔地址](http://doc.catchadmin.com)
### Talking
- [論壇討論](http://bbs.catchadmin.com)
- 可以提 `ISSUE`,請按照 `issue` 模板提問
- 加入 Q 群 `302266230` 暗號 `catchadmin`。
### Thanks
> 排名部分先后
- [top-think/think](https://github.com/top-think/think)
- [element-admin](https://github.com/PanJiaChen/vue-element-admin/)
- [thans/tp-jwt-auth](https://packagist.org/packages/thans/tp-jwt-auth)
- [workerman/workerman](https://github.com/walkor/Workerman)
- [jaguarjack/think-filesystem-cloud](https://github.com/yanwenwu/think-filesystem-cloud)
- [overtrue/wechat](https://github.com/overtrue/wechat)
- [jaguarjack/migration-generator](https://github.com/yanwenwu/migration-generator)
- [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet)