> 本手册重点说明ThinkCMF用法,阅读前请先仔细查看 [ThinkPHP5.1完全开发手册](http://www.kancloud.cn/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) 中国镜像
## 升级指导
[https://www.kancloud.cn/thinkcmf/doc5\_1/957915](https://www.kancloud.cn/thinkcmf/doc5_1/957915)
## 更新日志
[https://www.kancloud.cn/thinkcmf/doc5\_1/957915](https://www.kancloud.cn/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支付宝捐赠二维码
![支付宝二维码](https://box.kancloud.cn/b0c39daa6f2512e088d9ba05ee231d8c_400x400.png)
您的每一份捐赠将用来:
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
- 附录
- 升级日志
- 升级指导