ulthon_admin
欢迎 目录和文件规范 系统架构 命名规范 php-cs-fixer public/static目录规范 app/common目录规范 数据库规范 CURD 命令行 表结构 数据库迁移代码 最佳实践 数据库自动缓存 后台菜单导入导出 权限的用法 table数据表格 cols operat _if titleField field selectList valueParser trueHide fieldFormat templet defaultValue search相关 time defaultSearchValue defaultToolbar init formFullScreen toobar modifyReload 控制器 CURD方法 导出 控制器通用验证 dataBrage向js传递参数 组件控件 select 下拉菜单option拼接 lay-submit paste-text粘贴 multiple-columns editor data-upload上传 tag-input标签输入 property-input动态字段输入 data-date时间控件参数 table-data列表选择器 city-picker城市选择器 copy-text 全局监听组件 data-request data-open 内置定时器 并发模式 重置密码 系统配置 PHP助手函数 sysconfig JS助手函数 checkMobile empty open 弹框 叠加loading getDataBrage getQueryVariable 扩展机制 事件扩展 实现事件 执行事件 事件列表 AdminLayoutRequireAfter LoadMigrationFiles AdminLoginIndex AdminLoginForget AdminLoginType AdminMenuTab AdminLayoutRequireBefore 自动更新 性能优化 精简代码 关闭数据库日志驱动 皮肤 正常 科幻 其他 切换模块时直接切换内容 关闭上传文件注入检测 代码编译原理 接入workerman和命令参数 升级TP6.1 Request的默认过滤 异步引入全局script 线上安装脚本 兼容PHP8.1

本框架基于ThinkPHP的事件机制,形成了3个基本的事件埋点类型,通过这些类型,通过事件机制,可以在定制底层代码的情况下,底层的功能。

这三个基本的类型是:

  • view_content
  • vars
  • response

当然,可以定制的范围都需要本框架做了事件埋点才行。

他们的定义方式和ThinkPHP一样,先定义类,再注册事件即可,唯一要注意的是不同类型的返回类型。

view_content

视图替换,返回的内容是视图层的代码,可以是html、css、js等视图代码。可能用于替换页面的指定区域或在指定区域插入新的数据。这都是由ulthon_admin事件埋点决定的。

事件有可能接收参数,也有可能不接收参数,这是用具体的事件埋点决定的。
事件返回view_content字段,其他字段不处理。

事件返回的形式如下:

  1. return ['view_content'=>xxx->fetch('login/ext/demo_login')];
  2. return ['view_content'=>xxx->fetch('login/ext/ulthon_login')];
  3. return ['view_content'=>xxx->"<div></div><style></style><script></script>"];

vars

变量替换,返回的数据将替换业务中的数据,一般接收一些参数,再返回一些参数。

事件的返回形式如下:

  1. return [$vars=>[xx=>xx]]

response

响应替换,替换整个控制器的响应内容。

返回形式如下:

  1. return [response=>Response]

更多类型

事件还支持更多的类型,具体看子目录。

其他

文档还未建设完成,其他内容见:https://gitee.com/ulthon/ulthon_admin/issues/I7WJ00

原文标题:事件扩展

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/668aad4035884/zh-cn/2.x.html

原文平台:奥宏文档

2.x