前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xiuno插件开发,Hook 机制说明 PHP 插件 XiunoBBS

Xiuno插件开发,Hook 机制说明 PHP 插件 XiunoBBS

作者头像
奇梦
发布2018-09-29 17:12:06
2.5K0
发布2018-09-29 17:12:06
举报
文章被收录于专栏:奇梦博客
Hook 机制

Xiuno BBS 的插件机制分为两种,一种是 Hook,一种是 Overwrite。所谓 Hook,就是往代码里插入代码,多个插件的代码合并后插入到 hook 指定的位置,最后生成的代码存放于 tmp 目录,被 include

在”Hello, Xiuno Plugin“章节中的实例就是基于 Hook 的。

文件 view/htm/header.inc.htm 中的代码,包含一个 hook header_body_start.htm,我们来将代码插入到此处:

代码语言:javascript
复制
<body>
<!--{hook header_body_start.htm}-->
<div id="wrapper">

制作插件 A:

plugin/

my_plugin_a/

conf.json

        hook/

header_body_start.htm

假定 header_body_start.htm 的内容为:

代码语言:javascript
复制
Hello, Pugin A

有插件 B:

plugin/

my_plugin_B/

conf.json

        hook/

header_body_start.htm

假定 header_body_start.htm 的内容为:

代码语言:javascript
复制
Hello, Pugin B

那么最后生成的文件位置在 tmp/view_htm_header_body_start.htm,内容为:

代码语言:javascript
复制
<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;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/08/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hook 机制
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档