app目录下共三个业务接口模块
adminapi 后台业务接口模块
api 应用端业务接口模块
kefuapi 客服系统业务接口模块
outapi 对外接口业务接口模块
此三个业务接口模块下目录文件是一样的,每个模块具有独立的路由,配置,事件机制等以下做统一介绍。
一、config目录:主要是当前模块的基本路由规则
return [
// 是否强制使用路由
'url_route_must' => true,
// 合并路由规则
'route_rule_merge' => true,
// 路由是否完全匹配
'route_complete_match' => true,
// 是否自动转换URL中的控制器和操作名
'url_convert' => false,
];
二、controller目录:
所有业务接口均在此目录下
每个模块下面拥有独立的类库及配置文件,一个应用下面有多个控制器负责响应请求,而每个控制器其实就是一个独立的控制器类。
控制器主要负责请求的接收,并调用相关的业务层处理,并最终返回。严格来说,控制器不应该过多的介入业务逻辑处理。
三、middleware中间件目录
中间件主要用于拦截或过滤应用的http请求,并进行必要的业务处理,降低系统耦合,和路由搭配使用,如权限验证,访问记录,重定向等等。
四、route路由文件目录
与控制器目录对应,进行路由设置。
五、validate验证器目录
为具体的验证场景或者数据表定义好验证器类,在控制器中直接调用。$this->validate(array $data, $validate, $message = null, bool $batch = false),注入验证数据和验证器即可完成验证,减少if else等手动验证操作。
六、事件和监听事件
event.php 内来定义事件;
事件监听,定义个事件监听器来监听事件的执行,可以同步`php think make:listener UserLogin`来生成监听类;
Was this helpful?
0 / 0