我们已经知道了 Hook 机制就是插入合并,那么 Overwrite 就很好理解了。 Overwrite 就是覆盖的意思,Xiuno BBS 的 overwrite 机制就是用来"覆盖"原来的文件。
比如你的插件目录如下:
plugin/
my_plugin/
conf.json
overwrite/
view/
htm/ header.inc.htm
那么这个插件的 header.inc.htm 就会“覆盖”view/htm/header.inc.htm,并不是真正的覆盖,而是它优先加载,最后代码合并以后存放到了
tmp/view_htm_header.inc.htm
以下文件可以被 overwrite:
index.inc.php
view/htm/*.htmroute/*.phpmodel/*.phpadmin/view/htm/*.htmadmin/route/*.phpadmin/index.inc.php
admin/menu.conf.php
lang/*.php