# 前端开发规范
> 尽量使用lyui/Framework7/weui等框架自带的组建、样式进行页面的构建。然后局部有特殊样式细节改动再自己处理。
**css书写**
不要直接对html标记直接进行样式定义,而应该使用css类名进行局部样式定义(最好能形成复用的代码),除非是一些确实特殊的可以在最主要的css文件里统一定义,比如home.css、main.css。
推荐的做法:
.article .title {
margin-bottom: 15px;
}
.article ul {
list-style: none;
}
不推荐的做法:
h3 {
margin-bottom: 15px;
}
ul {
list-style: none;
}
**缩进空行**
统一遵循四格空格缩进、文件末尾保留一行空行、代码中间不需要多余的空格和空行删掉。
**css类名**
css类名的定义一定程度上要能表达出意思,比如post-list可以表示是一个帖子列表,如果写成info就是在迷惑敌人。
**变量名**
css类名结构统一类似media-avatar-list,js的变量名统一类似article_info
# 后端开发规范
**模板赋值**
列表数组:
`$this->assign('data_list',$data_list);`
`$this->assign('cate_list',$cate_list);`
`$this->assign('goods_list',$goods_list);`
**详情数组:**
`$this->assign('info',$info);`
**编码规范**
1)功能没有完成的时候一定要写 (TODO:)
2)必须含有功能模块文档、文件注释、方法注释、函数注释、代码块注释,注释内容包括功用,参数,返回值,作者,必要是还有示例。逻辑复杂的代码,关键部分应有注释。
3、PHP编码规范
类文件命名:同ThinkPHP命名规范
方法命名规范:驼峰命名,不能出现下划线
类属性规范:类属性和类方法一致,统一使用驼峰
函数命名;小写字母加下划线
变量命名规范:产品中不涉及到全局变量,局部变量不做强制要求,建议使用下划线
后台控制器里给列表赋值的变量都用xx_list, 单一数据读取、保存都用info,其他临时变量 最好不要使用这两个,以免造成冲突。
**模板**
1)模板文件相关常量
~~~
__PUBLIC__ 公共资源文件目录
__IMG__ 当前模块图片目录
__CSS__ 当前模块CSS目录
__JS__ 当前模块JS目录
~~~
2)模板文件规范
所有的模板文件都继承 Public/layout文件,layout模板提供了以下可重载的块。
> style 用于添加页面样式文件
> script 用于添加页面JS文件和JS代码
> sidebar 左边导航区域
> body 页面内容,后台页面的内容全部放到body块中
**数据库规范**
1)所有的字段必须添加注释
2)字段名小写,多关键字使用下划线分割(关键字尽量全称)
3)所有字段不允许 NULL值
4)字段长度定义(TODO: 具体常用的长度定义)
5)数据表引擎 MyISAM
6)所有的表应该都有status 字段来标注数据状态,业务状态请使用其他字段;
status字段类型 为带符号的 tinyint(4)
> -1 已删除;0 被禁用;1 正常
如果还需要其他的数据状态,请先判断该状态的数据是有用的数据还是无意义的数据:有用的数据状态 > 2,无意义的数据状态 < -1。
- 序言
- 基础
- 安装
- 开发规范
- 目录结构
- 表单生成器
- setMetaTitle
- setTabNav
- setExtraItems
- setPostUrl
- addFormItem
- setFormData
- setExtraHtml
- setAjaxSubmit
- setTemplate
- 表格生成器
- setMetaTitle
- addTopButton
- addTableColumn
- setTableDataList
- setTableDataListKey
- addRightButton
- setTableDataPage
- setSearch
- setTabNav
- addSearchItem
- alterTableData
- setExtraHtml
- setTemplate
- 公共函数
- 后台管理
- 系统功能
- 系统设置
- 导航管理
- 幻灯管理
- 配置管理
- 上传管理
- 用户权限
- 用户管理
- 管理员管理
- 用户组管理
- 扩展中心
- 功能模块
- 插件管理
- 模块
- opencmf.php
- 目录结构
- 开发规范
- 插件
- 系统钩子列表
- 插件开发
- 主题
- 新建主题
- 模板变量
- 模板标签
- 附录
- 网站配置
- 常见问题
- 更新日志
- 关于零云