Onethink 教程:从零开始掌握国产 PHP 开源框架
什么是 Onethink?
Onethink 是一款基于 ThinkPHP 3.2.3 开发的内容管理系统和快速开发框架。

你可以从两个角度理解它:
- 管理系统:它像 WordPress 或 DedeCMS 一样,拥有后台管理、用户管理、内容模型、菜单管理等完整功能,可以快速搭建企业官网、博客、新闻门户等网站。
- 作为快速开发框架:它继承了 ThinkPHP 的所有优点,内置了丰富的功能和模块(如会员、评论、API等),让你在开发项目时,无需重复“造轮子”,可以直接基于 Onethink 进行二次开发,大大提高开发效率。
核心特点:
- 基于 ThinkPHP:语法和生态与 ThinkPHP 一脉相承,对熟悉 TP 的开发者非常友好。
- 模块化设计:功能以模块形式存在,可按需安装、卸载、升级,非常灵活。
- 可视化配置:后台提供了大量的可视化配置选项,降低了使用门槛。
- 强大的二次开发能力:代码结构清晰,注释完善,非常适合进行二次开发。
环境准备
在开始之前,你需要准备好本地开发环境,Onethink 是 PHP 项目,因此需要:
- PHP 环境:推荐 PHP 5.3 - 5.6 版本(新版本可能需要额外配置)。
- Web 服务器:推荐 Nginx 或 Apache。
- 数据库:MySQL 5.0+。
- PHP 扩展:必须开启
pdo和pdo_mysql扩展。
推荐集成环境:

- phpStudy (Windows用户首选):一键集成 PHP、Nginx/Apache、MySQL,非常方便。
- MAMP (Mac用户首选)。
- 宝塔面板 (Linux/Windows/Mac):功能强大的服务器管理面板,适合新手和有经验的开发者。
Onethink 安装教程
这里以最常用的 phpStudy 为例,讲解安装步骤。
步骤 1:下载 Onethink
- 访问 Onethink 官网或 Gitee 下载最新版本。
- 官网地址:
http://www.onethink.cn/ - Gitee 地址:
https://gitee.com/onestar/Onethink - 下载后得到一个压缩包,
Onethink_1.0.131201_UTF8.zip。
步骤 2:配置环境
- 打开 phpStudy,切换到所需的 PHP 版本(如 PHP 5.4)。
- 点击“扩展管理”,确保
pdo和pdo_mysql扩展已开启。 - 点击“MySQL管理”,设置一个 root 密码,并创建一个新的数据库(数据库名命名为
onethink)。
步骤 3:部署文件
- 将下载的 Onethink 压缩包解压。
- 将解压后的文件夹(通常名为
Onethink)中的所有文件,复制到你的 Web 根目录下。- 如果使用 phpStudy,默认根目录是
WWW文件夹。 - 你最终在
WWW文件夹里会看到一个Onethink文件夹。
- 如果使用 phpStudy,默认根目录是
- 为了方便访问,你可以将
WWW/Onethink文件夹重命名为你喜欢的项目名,ot。
步骤 4:运行安装向导
- 打开浏览器,访问你的项目地址,
http://localhost/ot或http://127.0.0.1/ot。 - 如果环境配置正确,你会看到 Onethink 的安装欢迎页面。
- 环境检测:系统会自动检测你的 PHP 环境,如果出现红色叉号,根据提示去 phpStudy 中开启相应的扩展或修改配置。
- 协议同意:勾选“同意”。
- 配置数据库:
- 数据库地址:
localhost - 数据库用户名:
root - 数据库密码:你在 phpStudy 中设置的密码
- 数据库名称:你创建的数据库名(如
onethink) - 数据表前缀:默认
onethink_即可
- 数据库地址:
- 安装完成:点击“安装”,等待片刻,安装程序会自动创建数据表并完成配置。
- 进入后台:安装成功后,页面会跳转到登录界面。
- 后台登录地址:
http://你的域名/ot.php - 默认管理员账号:
admin - 默认管理员密码:
onethink
- 后台登录地址:
重要提示:首次登录后台后,立即修改默认密码!
Onethink 基础使用与核心概念
成功登录后台后,我们来熟悉一下 Onethink 的核心功能。
后台界面布局
- 顶部导航栏:包含系统名称、用户信息、清缓存、退出等。
- 左侧菜单栏:所有功能模块的入口,是操作的核心。
- 区:显示当前选中菜单的具体内容。
核心功能模块
-
系统 (System)
- 网站信息:设置网站标题、Logo、ICP备案号、版权信息等。
- 数据库备份:定期备份数据库,防止数据丢失。非常重要!
- 缓存管理:清理系统缓存,解决一些显示异常问题。
- 附件设置:配置上传文件的类型、大小、保存路径等。
-
内容 (Content)
- 内容模型:Onethink 的核心!你可以在这里创建不同的内容类型。
- 示例:创建一个“产品”模型,包含字段:产品名称、产品图片、产品简介、价格等。
- 操作:添加模型 -> 添加字段 -> 保存,之后你就可以在“内容管理”中看到这个新的模型了。
- 内容管理:管理所有模型添加的内容,你可以在这里新增、编辑、删除文章、产品等。
- 分类管理创建分类目录,形成树形结构,方便管理和展示。
- 内容模型:Onethink 的核心!你可以在这里创建不同的内容类型。
-
用户 (User)
- 会员管理:管理网站的所有注册用户。
- 会员模型:自定义会员的字段,如昵称、性别、生日、手机号等。
- 用户组:创建不同的用户组(如普通会员、VIP会员),并分配不同的权限。
-
菜单 (Menu)
- 自定义菜单:在后台左侧创建自定义菜单,可以链接到任何页面,方便快速访问常用功能。
-
模块 (Module)
- 模块管理:Onethink 的强大之处在于模块化,你可以在这里看到所有已安装的模块。
- 安装模块:可以从官方或第三方下载模块包(如留言板、论坛等),在这里上传安装。
- 卸载模块:不再需要的模块可以一键卸载。
Onethink 二次开发入门
当 Onethink 自带的功能无法满足你的需求时,就需要进行二次开发。
项目目录结构
了解目录结构是开发的第一步,在 ot/Application 目录下:
ot/
├── Application/ // 应用目录
│ ├── Admin/ // 后台应用
│ │ ├── Common/ // 后台公共函数库
│ │ ├── Conf/ // 后台配置文件
│ │ └── Controller/ // 后台控制器
│ │ └── Model/ // 后台模型
│ │ └── View/ // 后台模板
│ │
│ ├── Home/ // 前台应用
│ │ ├── Common/ // 前台公共函数库
│ │ ├── Conf/ // 前台配置文件
│ │ ├── Controller/ // 前台控制器
│ │ └── Model/ // 前台模型
│ │ └── View/ // 前台模板
│ │
│ └── Install/ // 安装应用
│
├── Public/ // 静态资源目录 (css, js, images)
├── ThinkPHP/ // ThinkPHP 框架核心目录
└── ... (其他配置文件)
MVC 模式
Onethink 遵循经典的 MVC 模式:
- M (Model - 模型):负责与数据库交互,通常对应数据表。
- V (View - 视图):负责页面展示,即 HTML 模板。
- C (Controller - 控制器):核心,接收用户请求,调用模型和视图,返回最终结果。
案例:创建一个简单的“关于我们”页面
目标:在网站前台添加一个“关于我们”页面,内容可在后台编辑。
后台添加内容
- 登录后台,进入 ->
内容模型。 - 你会看到一个默认的
文章模型,直接使用它即可。 - 进入 ->
内容管理->文章。 - 点击“添加文章”,标题填写“关于我们”,内容填写公司的介绍信息,然后发布。
创建菜单链接
- 进入
菜单->自定义菜单。 - 点击“添加菜单”。
- 菜单名称:关于我们
- 链接地址:在地址输入框中输入
article/detail?id=1(这里的id=1是你刚刚发布的“关于我们”文章的ID,请根据实际情况修改)。 - 上级菜单:选择主导航菜单。
- 保存。
你应该在前台的导航栏中看到了“关于我们”链接,点击后可以跳转到对应的文章详情页。
完全自定义页面(更灵活)
如果你想做一个不依赖于文章模型的独立页面,可以这样做:
-
创建控制器: 在
ot/Application/Home/Controller/目录下新建一个文件AboutController.class.php。<?php namespace Home\Controller; use Think\Controller; class AboutController extends Controller { public function index(){ // 可以在这里查询数据库获取内容 // $content = M('Article')->find(1); // $this->assign('content', $content['content']); $this->display(); // 调用同名的模板文件 About/index.html } } -
创建视图: 在
ot/Application/Home/View/About/目录下新建一个文件index.html。<html> <head> <title>关于我们</title> </head> <body> <h1>关于我们</h1> <div class="content"> 这里是公司的介绍内容。 {__CONTENT__} <!-- 如果使用后台的“页面”模型,这里可以输出内容 --> </div> </body> </html> -
访问页面: 现在直接访问
http://你的域名/index.php/Home/About/index就能看到你创建的页面了。 -
后台管理(可选): 为了能在后台编辑这个页面的内容,你可以在后台创建一个“页面”模型,然后将内容存入数据库,在控制器的
index方法中查询并赋值给模板。
学习资源与社区
- 官方文档:
http://document.onethink.cn/(虽然可能不是最新,但仍是权威参考) - Gitee 主页:
https://gitee.com/onestar/Onethink(可以查看源码、提交问题) - ThinkPHP 文档:因为 Onethink 基于 TP 3.2,所以学习 TP 3.2 的文档对你大有裨益。
http://www.thinkphp.cn/ - 开发者社区:在 Gitee 的 Issues 区可以搜索到很多常见问题,也可以提问。
总结与建议
- Onethink 是什么:记住它既是 CMS 也是快速开发框架。
- 核心是模型:学会使用“内容模型”是玩转 Onethink 的关键。
- 从模仿开始:先熟悉后台的各项功能,尝试用自带功能搭建一个简单的网站。
- 二次开发看 M:理解 MVC 结构,从修改控制器和模板开始,逐步深入。
- 善用搜索:遇到问题,先在 Gitee 的 Issues 和官方文档中搜索,99% 的问题别人都遇到过。
希望这份教程能帮助你顺利开启 Onethink 的学习之旅!
