# 开发规范
[TOC]
## PHP代码命名规范
* 类文件名跟类名一至,
* 目录名全部小写
* 类命名空间为类所在目录结构名字同样全部小写,遵循ps4加载规范
* 类方法和类成员使用首字母小写的驼峰命名
* 常量全部大写使用用下划线分隔
## 数据库命名规范
* 数据表名字命名全部小写使用下划线分隔,英文单词命名(***尽量不要用缩写***),尽量不要使用拼音,因为有多音字
* 字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,表的主键要有自增id并且使用 **表名_id** 来命名,
## 类和命名空间规范
* 所有类都要归入指定的命名空间内,
* 建议工具类放入***utils***命令空间,虽然命名空间可以任意的添加但还是越少越好,可以直接在命令空间中添加目录来把工具给分类放置
### 系统默认使用啦下面几个命名空间
* controller 控制器类
* model 模型类
* validate 数据验证类
* widget 挂件类
* logic 逻辑类
* utils 工具类
* hook 钩子类
所有命名空间里都是按模块目录来归类对应模块的代码
## 框架概述
**极轻量级框架**
该框架主要为啦实现降低项目的耦合度,方便多人团队共同开发同一个项目且不会产生冲突,使用之前一定要熟悉composer 包的相关知识,因为在框架里每一个功能都可以看做是一个composer包。所有类加载符合 PSR-4 规范
## 框架原理
框架预设的顶级命名空间有 controller model logic validate,访问的时候会自动调用 \controller\模块\控制器,系统里有model() logic() validate()全局函数实例化也遵从这个规则,
如果在对应的模块里找不到对应的类则对从公共模块中查找,如果还没有则抛出异常
## 安装方法
使用下面命令安装框架
`composer require mokuyu/ank-framework:@dev`