如何在PSFS框架中正确重建模块?Controller Type选择说明
PSFS框架模块重建Controller Type说明及选型

各Controller Type对应含义
Module Front Controller:模块专属前台控制器,逻辑、路由、模板资源完全归属当前模块,不会被全局前台逻辑、站点主题配置覆盖,用于实现模块自带的公网可访问页面,比如模块提供的活动落地页、自定义会员中心功能页。Module Admin Controller:模块专属后台控制器,自动接入后台管理员权限校验体系,安装模块时会自动注册对应后台菜单、权限节点,卸载时自动清理相关数据,用于实现模块自带的后台配置、数据管理功能。Front Controller:全局前台控制器,属于站点全局公共前台层的控制器,不属于单个模块,会加载全局前台所有公共组件、钩子逻辑,非全局公共功能不要选这个类型,避免模块卸载后残留冗余逻辑。Admin Controller:全局后台控制器,属于站点全局公共后台层的控制器,同样不归单个模块所有,会加载全局后台所有公共逻辑,非系统级公共后台功能不要选。Ajax Controller:轻量异步请求控制器,不加载完整页面布局渲染逻辑,仅返回JSON、XML或HTML片段,响应性能更高,用于处理前后台无刷新交互、异步接口请求,需要自行补充对应访问权限校验逻辑。Cli Controller:命令行专用控制器,仅支持通过PHP CLI模式触发,直接拒绝Web端访问,用于编写定时任务、批量数据处理、初始化安装脚本、队列消费类逻辑。
重建模块选型规则
重建现有模块时优先匹配原有业务场景选对应类型:
- 原有逻辑是模块自带的前台独立访问页面,选
Module Front Controller - 原有逻辑是模块自带的后台配置、管理功能,选
Module Admin Controller - 原有逻辑是服务于前后台的异步交互接口,选
Ajax Controller - 原有逻辑是仅命令行执行的脚本、定时任务,选
Cli Controller
非必要不要选全局Front/Admin Controller,这两类是系统全局层的控制器,归到模块下用的话,后续模块卸载很容易残留垃圾路由、权限配置,还可能和其他功能出现路由冲突。
内容的提问来源于stack exchange,提问作者gmartel
相关产品推荐
相关产品推荐

