Appearance
后端代码
代码分层
温馨提示
后端代码主要分为三层:模型层model、逻辑服务层service、控制器层controller;
详情可移步进阶框架分层
三层代码均可使用代码生成工具一键生成,分别存放cogen 目录下
1. 创建模型model
- 模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写
2. 创建逻辑服务service
- 采用驼峰法命名,并且首字母大写,名称和模型对应,后缀使用Service
- 公共方法增删改查基本操作,通过使用
use ServiceTrait
引入,另外可以加入自定义方法
sh
//引入公共方法
use ServiceTrait;
/**
* 自定义方法
* @param string $username 用户名
* @param string $password 未加密的密码
*/
public static function login($username, $password)
{
}
3. 创建验证器 validate (可选)
- 采用驼峰法命名,并且首字母大写,名称和模型对应
sh
//验证规则
protected $rule = [
'username' => ['require', 'max' => '25'],
];
//提示信息
protected $message = [
'username.require' => '账号必须',
];
//验证场景
protected $scene = [
'save' => ['username',],
];
4. 创建控制器controller
- 采用驼峰法命名,并且首字母大写,建议名称和模型对应
- 公共方法增删改查基本操作,通过使用
use ControllerTrait;
引入;包括前置before和后置after方法处理自定义数据和权限,也可以自定义方法
sh
//引入公共方法
use ControllerTrait;
//查询条件前置处理
public function beforeIndex(){}
//查询条件前置处理
public function beforeGetLists(){}
//查询权限处理
public function beforeGetListsAuth($where){}
/**
* 自定义方法
* @Route("getusermenu", method="POST")
*/
public function getusermenu(){}