⚠️ 编程须知

ThinkAdmin v6 是一款基于 ThinkPHP 6 & 8 的强大后台管理工具,为开发者提供完善的开发指南和注意事项。

🚀 系统要求

PHP 版本

  • 最低版本: PHP 7.1 或更高版本
  • 推荐版本: PHP 8.0 或更高版本
  • 最佳性能: 建议使用 PHP 8.0+ 获得最佳性能
  • 兼容性: 支持 ThinkPHP 6 & 8 框架

环境配置

  • PATHINFO: 需要启用 PATHINFO 模式
  • Rewrite: 使用 rewrite 访问项目
  • URL 模式: 不建议使用 ThinkPHP 的 URL 兼容模式
  • 优雅展示: 确保项目的优雅展示效果

📋 开发环境

依赖管理

  • Composer: 使用 Composer 管理依赖组件
  • 生态系统: PHP 生态系统中最常用的依赖管理工具
  • 第三方库: 轻松安装和管理第三方库和工具
  • 安装方法: 可在网上搜索具体的安装和使用方法

推荐 IDE

  • VsCode: 轻量级代码编辑器,强大的扩展功能
  • PhpStorm: 丰富的功能和插件,支持 ThinkPHP 框架(推荐)
  • NetBeans: 强大的 IDE,支持多种语言和平台
  • Eclipse for PHP: Eclipse IDE 的 PHP 开发变种

开发建议

  • 不推荐: 不建议使用文本编辑器进行开发
  • 功能支持: IDE 提供代码高亮、自动完成等功能
  • 需求匹配: 选择与开发需求和偏好相匹配的 IDE

⚠️ 重要注意事项

前端开发规范

  • UI 框架: 后台界面基于 LayUIRequireJS 构建
  • 学习建议: 建议深入了解 LayUIRequireJS 相关规范
  • 开发效率: 熟悉框架可显著提升前端开发效率

文件存储支持

  • 本地存储: 支持本地服务器文件存储
  • 云存储: 支持七牛云、阿里云 OSS、腾讯云 COS、又拍云 USS
  • 自建存储: 支持自建 Alist 存储服务
  • 灵活配置: 可根据需求灵活切换存储方式

异步任务处理

  • 适用场景: 长时间数据处理和循环任务
  • 典型应用: 数据导出、数据同步、循环处理、大数据处理
  • 性能优势: 避免阻塞主进程,提升系统性能
  • 监控管理: 提供完善的任务监控和管理功能

微信开发集成

  • 功能支持: 微信服务号、小程序、开放平台、商户支付
  • 开发文档: 参考 WeChatDeveloper 文档
  • 插件支持: 通过插件方式集成微信功能
  • API 接口: 提供完整的微信 API 接口封装

模块注册机制

  • 注册文件: 每个模块的 sys.php 文件是系统注册文件
  • 重要影响: 对整个项目具有重要影响
  • 功能定义: 可定义模块公共函数、注册指令等
  • 服务注册: 支持服务提供者注册

插件生态支持

  • 版本要求: 从 v6.1 版本开始支持
  • 管理方式: 支持 Composer 管理与安装
  • 开发文档: 详细的插件开发文档
  • 社区生态: 丰富的插件生态支持

多应用组件

  • 内置支持: ThinkAdmin 已内置多应用组件
  • 避免冲突: 无需安装 ThinkPHP 官方多应用组件
  • 兼容性: 避免插件服务冲突问题
  • 稳定性: 提供更稳定的多应用支持

开发规范

代码规范

  • PHP 代码: 遵循 PSR-4 自动加载规范
  • 严格类型: 所有 PHP 文件必须使用 declare(strict_types=1); 严格类型声明
  • 命名空间: 使用完整的命名空间路径
  • 类命名: 使用帕斯卡命名法(PascalCase),如 UserMenuConfig
  • 模型命名: 必须以 System 开头,如 SystemUserSystemMenu
  • 方法命名: 公共方法使用驼峰命名法(camelCase),如 index()add()edit()
  • 钩子方法: 使用下划线前缀,如 _form_filter()_page_filter()
  • 变量命名: 类属性使用 camelCase,如 $this->title;数组键名使用 snake_case

数据库规范

  • 表命名: 使用下划线命名法,必须以应用模块名称作为前缀,如 system_usersystem_menu(system 模块)、account_user(account 模块)、wechat_auth(wechat 模块)
  • 字段命名: 使用下划线命名法,如 create_atupdate_atis_deleted
  • 主键字段: 统一使用 id 作为主键字段名
  • 时间字段: 使用 create_atupdate_atdelete_at 格式(注意是 at 不是 time
  • 索引命名: 使用 idx_ 前缀,如 idx_user_id
  • 外键命名: 使用 fk_ 前缀,如 fk_user_role

文件规范

  • 控制器: 放在 app/admin/controller/ 目录
  • 模型: 放在 app/admin/model/ 目录
  • 视图: 放在 app/admin/view/ 目录
  • 配置文件: 放在 config/ 目录

注释规范

  • 类注释: 使用标准的 PHPDoc 注释,包含 @class@package 标签
  • 方法注释: 包含参数、返回值、异常说明(@throws
  • 权限注释: 使用 @auth@menu@login 注解控制访问权限
  • 示例:
    /**
     * 系统用户管理
     * @class User
     * @package app\admin\controller
     */
    class User extends Controller
    {
        /**
         * 用户列表
         * @auth true
         * @menu true
         * @throws \think\db\exception\DataNotFoundException
         */
        public function index() { }
    }
最近更新:
Contributors: 邹景立, Anyon