> 本手冊重點說明ThinkCMF用法,閱讀前請先仔細查看 [ThinkPHP5.1完全開發手冊](http://www.hmoore.net/manual/thinkphp5_1)
ThinkCMF是一款基于ThinkPHP+MySQL開發的中文內容管理框架。ThinkCMF提出靈活的應用
機制,框架自身提供基礎的管理功能,而開發者可以根據自身的需求以應用的形式進行擴展。每個應用都能獨立的完成自己的任務,也可通過系統調用其他應用進行協同工作。在這種運行機制下,開發商城應用的用戶無需關心開發SNS應用時如何工作的,但他們之間又可通過系統本身進行協調,大大的降低了開發成本和溝通成本。
>[info] **ThinkCMF5.1 做你的專屬開發框架,讓你更自由地飛**
ThinkCMF5.1化繁為簡,基于ThinkPHP 5.1重構所有核心代碼 ,目標是**做你的專屬開發框架,讓開發者更自由地創作**,`5.1`其實就是一個最簡單方便的TP5.1使用形式。開發者只需關注`應用`,`插件`,`模板`和 `API`的業務邏輯實現,而所有核心庫、核心應用都通過`composer`包加載。
**為了讓你更自由地飛,我們在5.1中做了如下調整:**
1. 更改框架協議為`MIT`,更自由的協議
2. 更改目錄結構,去除`simplewind`目錄
3. 可以自由定制前后臺UI
4. 核心包、核心應用`composer`化,把ThinkCMF當庫來用
5. 合并API到框架,更方便地開發 RESTful API
6. 移除portal應用,讓核心更快迭代
## ThinkCMF5.1主要特性
* 更改框架協議為`MIT`,讓你更自由地飛
* 基于ThinkPHP 5.1重構,但核心代碼兼容5.0版本,保證老用戶最小升級成本
* 增加對`swoole`支持,同時支持swoole協程和全同步模式(請單獨安裝擴展)
* 重新規范目錄結構,更貼心
* CMF核心庫及應用使用`composer`加載
* 合并API到框架核心
* 更規范的代碼,遵循PSR-2命名規范和PSR-4自動加載規范
* 支持 `composer` 管理第三方庫
* 核心化:獨立核心代碼包
* 應用化:開發者以應用的形式增加項目模塊
* 插件化:更強的插件機制,開發者以插件形式擴展功能
* 模板化:前臺可視化設計
* 支持URL美化功能,支持別名設置,更簡單
* 獨立的回收站功能,可以管理所有應用臨時刪除的數據
* 統一的資源管理,相同文件只保存一份
* 注解式的后臺菜單管理功能,方便開發者代碼管理后臺菜單
* 插件同樣支持注解式的后臺菜單管理功能
* 文件存儲插件化,默認支持七牛文件存儲插件
* 模板制作標簽化,內置多個cmf標簽,方便小白用戶
* 更人性化的導航標簽,可以隨意定制 html 結構
* 后臺首頁插件化,用戶可以定制的網站后臺首頁
## Git倉庫
1. GitHub:[https://github.com/thinkcmf/thinkcmf/tree/5.1](https://github.com/thinkcmf/thinkcmf/tree/5.1)?主要倉庫
2. 碼云:[https://gitee.com/thinkcmf/ThinkCMF/tree/5.1](https://gitee.com/thinkcmf/ThinkCMF/tree/5.1)? ?中國鏡像
## 演示倉庫
此倉庫會放官方的一些演示應用(門戶應用等),插件(七牛插件等),模板(simpleboot3),API(門戶應用 API)等
1. [https://github.com/thinkcmf/demos](https://github.com/thinkcmf/demos)?主要倉庫
2. [https://gitee.com/thinkcmf/demos](https://gitee.com/thinkcmf/demos)?中國鏡像
## 升級指導
[http://www.hmoore.net/thinkcmf/doc5\_1/957915](http://www.hmoore.net/thinkcmf/doc5_1/957915)
## 更新日志
[http://www.hmoore.net/thinkcmf/doc5\_1/957915](http://www.hmoore.net/thinkcmf/doc5_1/957915)
## QQ群:
`ThinkCMF官方交流群` 316669417
`ThinkCMF高級交流群` 100828313 (付費)
`ThinkCMF微信小程序` 438619981
`ThinkCMF模板插件交流群` 550851374
`ThinkCMF學院公開課群` 639041379
## 版權聲明
未經版權所有者(thinkcmf.com)明確授權,禁止發行本文檔及其被實質上修改的版本。
未經版權所有者(thinkcmf.com)事先授權,禁止將此作品及其衍生作品以標準(紙質)書籍形式發行。
如果有興趣再發行或再版本手冊的全部或部分內容,不論修改過與否,或者有任何問題,請聯系版權所有者。
## 捐贈我們
ThinkCMF一直秉承ThinkPHP大道至簡的理念,堅持做最簡約的ThinkPHP開源軟件!
您的每一份幫助都將支持ThinkCMF做的更好,走的更遠!
我們一直在堅持不懈地努力,并堅持讓ThinkCMF完全開源免費,您的幫助將使我們更有動力和信心^_^!
支付寶捐贈:(用手機支付寶掃描二維碼支付)ThinkCMF支付寶捐贈二維碼

您的每一份捐贈將用來:
1. 深入ThinkCMF核心的開發
2. 做豐富的應用
3. 設計更爽的用戶界面
4. 吸引更多的模板開發者和應用開發者
5. 獎勵更多優秀貢獻者
6. 點站內自己有興趣的廣告,也是對我們的幫助喲!~~
- 序言
- 基礎
- 安裝ThinkCMF
- 為了更爽
- 目錄結構
- 入口文件
- 第三方庫
- 開發規范
- 數據庫規范
- 調試模式
- URL訪問
- 應用
- 配置
- 路由
- 控制器
- 控制器定義
- 控制器模板賦值
- 控制器模板渲染
- 前臺控制器
- 前臺用戶控制器
- 后臺控制器
- 跳轉,AJAX返回和重定向
- URL生成
- 請求
- 請求信息
- 輸入變量
- 請求類型
- 獲取請求頭信息
- 偽靜態
- 更多
- 系統函數
- cmf_auth_check 用戶權限檢查
- cmf_captcha_check圖片驗證碼驗證
- cmf_check_mobile 檢查手機號
- cmf_check_user_action 用戶訪問控制
- cmf_check_verification_code 數字驗證碼檢查
- cmf_clear_cache清空系統緩存
- cmf_clear_verification_code 清除數字驗證碼
- cmf_compare_password 用戶密碼比較
- cmf_current_lang 判斷當前語言包
- cmf_generate_user_token生成用戶token
- cmf_get_admin_style 獲取后臺風格
- cmf_get_content_images 獲取HTML圖片
- cmf_get_current_admin_id 登錄管理員ID
- cmf_get_current_admin_theme獲取當前后臺模板
- cmf_get_current_theme獲取前臺當前模板
- cmf_get_current_user 獲取登錄用戶信息
- cmf_get_current_user_id 登錄用戶ID
- cmf_get_domain返回帶協議的域名
- cmf_get_file_download_url 獲取文件下載鏈接
- cmf_get_file_extension 獲取文件擴展名
- cmf_get_image_url 獲取圖片 URL
- cmf_get_option 獲取系統配置
- cmf_get_plugin_class 獲取插件類名
- cmf_get_plugin_config獲取插件配置
- cmf_get_root 網站根目錄
- cmf_get_site_info 獲取網站信息
- cmf_get_theme_path獲取前臺模板根目錄
- cmf_get_upload_setting獲取上傳配置
- cmf_get_user_avatar_url 獲取用戶頭像URL
- cmf_get_verification_code 生成數字驗證碼
- cmf_is_android 判斷是否為安卓手機
- cmf_is_ios 判斷是否為ios訪問
- cmf_is_ipad 判斷是否為ipad訪問
- cmf_is_iphone 判斷是否為iphone訪問
- cmf_is_mobile 判斷是否為手機
- cmf_is_user_login 判斷用戶是否登錄
- cmf_is_wechat 判斷是否為微信
- cmf_password 密碼加密
- cmf_plugin_url 插件URL生成
- cmf_random_string隨機字符串生成
- cmf_replace_content_file_url 替換編輯器文件地址
- cmf_scan_dir 替代scan_dir的方法
- cmf_send_email 發送郵件
- cmf_set_dynamic_config 設置動態配置
- cmf_set_option 設置系統配置
- cmf_split_sql 切分SQL文件
- cmf_update_current_user 更新當前用戶信息
- cmf_url_encode 生成base64的url
- cmf_verification_code_log 驗證碼發送日志
- cmf_version獲取版本號
- get_client_ip 獲取客戶端IP地址
- hook 添加鉤子
- 數據庫
- 數據庫配置
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- 事務操作
- 更多數據庫操作
- 模型
- 模型定義
- 添加數據
- 更新數據
- 查詢數據
- 刪除數據
- 應用
- 應用的概念
- 應用開發流程
- 導航共享
- 幾個重要基類
- 后臺菜單注解
- 用戶操作配置
- URL 規則配置
- 應用第三方庫
- API
- 規范
- 狀態碼說明
- 版本號
- 資源控制器模板
- 成功返回
- 錯誤返回
- API路由
- API基類控制器
- API應用開發流程
- API第三方庫
- 模板
- 模板常量
- 模板標簽
- 變量輸出
- 系統變量
- 請求參數
- 使用函數
- 使用默認值
- 使用運算符
- 三元運算
- 原樣輸出
- 模板注釋
- 模板目錄
- 包含文件
- 模板布局
- 模板繼承
- 網站信息
- 內置標簽
- 循環輸出標簽
- 比較標簽
- 條件判斷
- 標簽嵌套
- 原生PHP
- 定義標簽
- CMF標簽
- 導航標簽
- 子導航標簽
- 驗證碼標簽
- 幻燈片標簽
- 鉤子標簽
- 友情鏈接標簽
- 分頁標簽
- 傻瓜式模板
- 什么是傻瓜式模板
- 模板描述文件
- 模板文件配置
- 模板變量類型
- 模板變量數據源
- 導航模板數據源
- 導航菜單模板數據源
- 幻燈片模板數據源
- 模板切換
- 插件
- 插件鉤子
- 核心鉤子
- 前臺模板鉤子
- 后臺鉤子
- send_mobile_verification_code
- comment
- guestbook
- admin_dashboard
- switch_theme
- admin_login
- admin_init
- home_init
- 插件類主文件
- 插件開發流程
- 插件配置
- 插件控制器
- 插件后臺管理控制器
- 插件后臺菜單
- 插件視圖
- 插件數據庫模型
- 插件多語言
- 插件API控制器
- 插件第三方庫
- 插件URL生成
- 前端
- Wind.js
- 前端組件
- js-ajax-form
- js-ajax-delete
- js-ajax-dialog-btn
- js-count-btn
- js-date
- js-datetime
- js-bootstrap-date
- js-bootstrap-datetime
- 專題
- 緩存
- Session
- Cookie
- 分頁
- 驗證碼
- 文件上傳
- 第三方擴展
- Swoole
- 附錄
- 升級日志
- 升級指導