OneThink1.0开发手册

OneThink系列开发手册在线版

命名规范与编码规范

1.目录规范

  • Addons 插件目录(每个子目录代表一个插件)
  • Application 应用模块目录
    • Admin 后台模块
    • Common 公共模块,不能通过URL访问
    • Home 前台模块
    • User 用户中心客户端,不能通过URL访问
  • Doc 文档目录
  • Public 公共资源目录
    • Admin 后台模块资源文件目录
    • Home 前台模块资源文件目录
    • static 公共静态插件
  • Uploads 公共上传根目录

2.编码规范

  • 功能没有完成的时候一定要写 (TODO:)
  • 方法和函数有注释,注释内容包括功用,参数,返回值,作者,必要是还有示例
  • 逻辑复杂的代码,关键部分应有注释

2.1 PHP编码规范

  • 类文件命名 - 同ThinkPHP命名规范
    • 公共控制器的名称应该和模块名称相同
    • 默认控制器层 Controller
  • 方法命名规范 - 驼峰命名,不能出现下划线
  • 类属性规范 - 类属性和类方法一致,统一使用驼峰
  • 函数命名 - 小写字母加下划线
  • 变量命名规范 - 产品中不涉及到全局变量,局部变量不做强制要求,建议使用下划线
  • 后台控制器里给列表赋值的变量都用list, 单一数据读取、保存都用data,其他临时变量 最好不要使用这两个,以免造成冲突

2.2 前端编码规范

2.2.1 模板文件相关常量

  • __PUBLIC__ 公共资源文件目录
  • __STATIC__ 公共静态文件目录
  • __ADDONS__ 当前模块插件在STATIC/插件名同名资源目录
  • __IMG__ 当前模块图片目录
  • __CSS__ 当前模块CSS目录
  • __JS__ 当前模块JS目录

2.2.2 模板文件规范

所有的模板文件都继承 Public/base文件,base模板提供了以下可重载的块

  • style 用于添加页面样式文件
  • script 用于添加页面JS文件和JS代码
  • sidebar 左边导航区域
  • body 页面内容,后台页面的内容全部放到body块中

3 数据库规范

  • 所有的字段必须添加注释
  • 字段名小写,多关键字使用下划线分割(关键字尽量全称)
  • 所有字段不允许 NULL值
  • 字段长度定义(TODO: 具体常用的长度定义)
  • 数据表引擎 MyISAM

所有的表应该都有status 字段来标注数据状态,业务状态请使用其他字段;status字段类型 为带符号的 tinyint

  • -1 已删除
  • 0 被禁用
  • 1 正常
  • 2 未审核

如果还需要其他的数据状态 请先判断该状态的数据是有用的数据还是无意义的数据

  • 有用的数据状态 > 2
  • 无意义的数据状态 < -1
  • 所有的删除(除开清空回收站操作) 请 标记status 为 -1

4 文档规范

  • 功能模块文档
  • 文件注释
  • 方法注释
  • 函数注释
  • 代码块注释

注释必须有 @author 项,方便在遇到问题时候找到作者调整。