企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
Xiuno BBS的插件机制分为两种,一种是Hook,一种是Overwrite。所谓Hook,就是往代码里插入代码,多个插件的代码合并后插入到hook指定的位置,最后生成的代码存放于tmp目录,被include 在”Hello, Xiuno Plugin“章节中的实例就是基于 Hook 的。 文件 view/htm/header.inc.htm 中的代码,包含一个 hook header\_body\_start.htm,我们来将代码插入到此处: ... <body> \<!--{hook header\_body\_start.htm}--> <div id="wrapper"> ... 制作插件 A: plugin/ my\_plugin\_a/ conf.jsonhook/ header\_body\_start.htm 假定 header\_body\_start.htm 的内容为: Hello,Pugin A 有插件 B: plugin/ my\_plugin\_B/ conf.jsonhook/ header\_body\_start.htm 假定 header\_body\_start.htm 的内容为: Hello,Pugin B 那么最后生成的文件位置在 tmp/view\_htm\_header\_body\_start.htm,内容为: ... <body> Hello,Pugin A Hello,Pugin B <div id="wrapper"> ... 因为程序在 include 时候做了转换: include\_include('./view/htm/header.inc.htm'); //基本等价于: include''./tmp/view\_htm\_header\_body\_start.htm;