本框架基于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