S1开发手册
前言
安装
规范
目录结构
框架
程序执行流程
入口文件
验证架构
验证架构
验证架构
验证架构
验证架构
应用模块
依赖注入
控制器架构
逻辑架构
验证架构
模型架构
行为架构
插件架构
服务架构
数据操作
系统常用配置
系统常用常量
系统常用函数
模块开发
模板制作
基础操作
本文档使用
零起飞
构建
插件架构
本文最后编辑时间:
2023-08-02 08:54:02
热度:
631
插件是用于扩展系统的功能的一些独立“组件”。 插件的定位是用于实现某些简单的显示及数据处理的功能扩展。所以我们的初衷是插件的开启关闭,不会影响原有数据。 物理定义: 位于站点根目录 /addon 下的一个类库,可以被系统的hook函数访问到。 公共模块下有一个AddonBase类,此类继承自ControllerBase 说明是一个控制器的子类,所有插件的控制器都需要继承AddonBase类,在此类中重写了框架的fetch与_get方法,实现了像其他模块一样的模板渲染方式及依赖注入对象。 注意: 插件的业务逻辑层继承的是app\common\model\Addon 而 不是 app\common\logic\Addon。因为此处的继承只是为了实现模型层对象的注入,所以无需继承app\common\logic\Addon。逻辑层的Addon里面封装的是插件的执行,安装,卸载等机制。 插件的静态资源移动到了public/static/addon目录下,在插件的模板中使用 __STATIC __会自动定位到插件的静态资源目录中。 插件也不例外,作者建议尽量将业务逻辑封装在业务逻辑目录中,供控制器引用,数据库相关操作尽量封装在ModelBase中,供业务逻辑层引用。
零起飞网络版权所有