{{userInfo.nickname}}
用户设置 退出登录

{{wikiTitle}}

控制器模块总览

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`来生成监听类;
{{cateWiki.like_num}}人点赞
0人点赞
评论({{cateWiki.comment_num}}) {{commentWhere.order ? '评论从旧到新':'评论从新到旧'}} {{cateWiki.page_view_num}}人看过该文档
评论(0) {{commentWhere.order ? '评论从旧到新':'评论从新到旧'}} 253人看过该文档
评论
{{item.user ? item.user.nickname : ''}} (自评)
{{item.content}}
{{item.create_time}} 删除
{{item.like ? item.like.like_num : 0}} {{replyIndex == index ? '取消回复' : '回复'}}
评论
{{items.user ? items.user.nickname : '暂无昵称'}} (自评)
{{items.content}}
{{items.create_time}} 删除
{{items.like ? items.like.like_num : 0}} {{replyIndexJ == (index+'|'+indexJ) ? '取消回复' : '回复'}}
评论
目录
  • {{item}}