Onethink 教程:从零开始掌握国产 PHP 开源框架

什么是 Onethink?

Onethink 是一款基于 ThinkPHP 3.2.3 开发的内容管理系统快速开发框架

onethink 教程
(图片来源网络,侵删)

你可以从两个角度理解它:

  1. 管理系统:它像 WordPress 或 DedeCMS 一样,拥有后台管理、用户管理、内容模型、菜单管理等完整功能,可以快速搭建企业官网、博客、新闻门户等网站。
  2. 作为快速开发框架:它继承了 ThinkPHP 的所有优点,内置了丰富的功能和模块(如会员、评论、API等),让你在开发项目时,无需重复“造轮子”,可以直接基于 Onethink 进行二次开发,大大提高开发效率。

核心特点:

  • 基于 ThinkPHP:语法和生态与 ThinkPHP 一脉相承,对熟悉 TP 的开发者非常友好。
  • 模块化设计:功能以模块形式存在,可按需安装、卸载、升级,非常灵活。
  • 可视化配置:后台提供了大量的可视化配置选项,降低了使用门槛。
  • 强大的二次开发能力:代码结构清晰,注释完善,非常适合进行二次开发。

环境准备

在开始之前,你需要准备好本地开发环境,Onethink 是 PHP 项目,因此需要:

  1. PHP 环境:推荐 PHP 5.3 - 5.6 版本(新版本可能需要额外配置)。
  2. Web 服务器:推荐 Nginx 或 Apache。
  3. 数据库:MySQL 5.0+。
  4. PHP 扩展:必须开启 pdopdo_mysql 扩展。

推荐集成环境:

onethink 教程
(图片来源网络,侵删)
  • 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:配置环境

  1. 打开 phpStudy,切换到所需的 PHP 版本(如 PHP 5.4)。
  2. 点击“扩展管理”,确保 pdopdo_mysql 扩展已开启。
  3. 点击“MySQL管理”,设置一个 root 密码,并创建一个新的数据库(数据库名命名为 onethink)。

步骤 3:部署文件

  1. 将下载的 Onethink 压缩包解压。
  2. 将解压后的文件夹(通常名为 Onethink)中的所有文件,复制到你的 Web 根目录下。
    • 如果使用 phpStudy,默认根目录是 WWW 文件夹。
    • 你最终在 WWW 文件夹里会看到一个 Onethink 文件夹。
  3. 为了方便访问,你可以将 WWW/Onethink 文件夹重命名为你喜欢的项目名,ot

步骤 4:运行安装向导

  1. 打开浏览器,访问你的项目地址,http://localhost/othttp://127.0.0.1/ot
  2. 如果环境配置正确,你会看到 Onethink 的安装欢迎页面。
  3. 环境检测:系统会自动检测你的 PHP 环境,如果出现红色叉号,根据提示去 phpStudy 中开启相应的扩展或修改配置。
  4. 协议同意:勾选“同意”。
  5. 配置数据库
    • 数据库地址:localhost
    • 数据库用户名:root
    • 数据库密码:你在 phpStudy 中设置的密码
    • 数据库名称:你创建的数据库名(如 onethink
    • 数据表前缀:默认 onethink_ 即可
  6. 安装完成:点击“安装”,等待片刻,安装程序会自动创建数据表并完成配置。
  7. 进入后台:安装成功后,页面会跳转到登录界面。
    • 后台登录地址http://你的域名/ot.php
    • 默认管理员账号admin
    • 默认管理员密码onethink

重要提示:首次登录后台后,立即修改默认密码


Onethink 基础使用与核心概念

成功登录后台后,我们来熟悉一下 Onethink 的核心功能。

后台界面布局

  • 顶部导航栏:包含系统名称、用户信息、清缓存、退出等。
  • 左侧菜单栏:所有功能模块的入口,是操作的核心。
  • :显示当前选中菜单的具体内容。

核心功能模块

  • 系统 (System)

    • 网站信息:设置网站标题、Logo、ICP备案号、版权信息等。
    • 数据库备份:定期备份数据库,防止数据丢失。非常重要!
    • 缓存管理:清理系统缓存,解决一些显示异常问题。
    • 附件设置:配置上传文件的类型、大小、保存路径等。
  • 内容 (Content)

    • 内容模型: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 - 控制器):核心,接收用户请求,调用模型和视图,返回最终结果。

案例:创建一个简单的“关于我们”页面

目标:在网站前台添加一个“关于我们”页面,内容可在后台编辑。

后台添加内容

  1. 登录后台,进入 -> 内容模型
  2. 你会看到一个默认的 文章 模型,直接使用它即可。
  3. 进入 -> 内容管理 -> 文章
  4. 点击“添加文章”,标题填写“关于我们”,内容填写公司的介绍信息,然后发布。

创建菜单链接

  1. 进入 菜单 -> 自定义菜单
  2. 点击“添加菜单”。
  3. 菜单名称:关于我们
  4. 链接地址:在地址输入框中输入 article/detail?id=1 (这里的 id=1 是你刚刚发布的“关于我们”文章的ID,请根据实际情况修改)。
  5. 上级菜单:选择主导航菜单。
  6. 保存。

你应该在前台的导航栏中看到了“关于我们”链接,点击后可以跳转到对应的文章详情页。

完全自定义页面(更灵活)

如果你想做一个不依赖于文章模型的独立页面,可以这样做:

  1. 创建控制器: 在 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
        }
    }
  2. 创建视图: 在 ot/Application/Home/View/About/ 目录下新建一个文件 index.html

    <html>
    <head>
        <title>关于我们</title>
    </head>
    <body>
        <h1>关于我们</h1>
        <div class="content">
            这里是公司的介绍内容。
            {__CONTENT__} <!-- 如果使用后台的“页面”模型,这里可以输出内容 -->
        </div>
    </body>
    </html>
  3. 访问页面: 现在直接访问 http://你的域名/index.php/Home/About/index 就能看到你创建的页面了。

  4. 后台管理(可选): 为了能在后台编辑这个页面的内容,你可以在后台创建一个“页面”模型,然后将内容存入数据库,在控制器的 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 的学习之旅!