后台管理页结束监听扩展
通过 Filter_Plugin_Admin_End 接口,可以在 Z-BlogPHP 后台管理页(zb_system/admin/index.php,即 cmd.php?act=... 指向的各类管理页)内容输出完成后执行自定义逻辑,适用于清理临时资源、记录操作日志等场景。
接口信息
| 接口 | 参数 | 说明 |
|---|---|---|
Filter_Plugin_Admin_End | 无 | 后台管理页输出完成后触发,在 RunTime() 计算执行耗时之前 |
完整案例
下例在后台管理页访问结束后记录一条简单的操作日志:
php
<?php
RegisterPlugin("demoAPP", "ActivePlugin_demoAPP");
function ActivePlugin_demoAPP()
{
Add_Filter_Plugin('Filter_Plugin_Admin_End', 'demoAPP_Admin_End');
}
function demoAPP_Admin_End()
{
global $zbp;
// 页面内容已输出完毕,可安全写入日志
$log = $zbp->user->Name . ' 访问了后台操作 ' . $zbp->action . "\n";
file_put_contents($zbp->path . 'zb_users/plugin/demoAPP/admin.log', $log, FILE_APPEND);
}注意事项
- 接口没有参数,回调函数通过
echo输出内容会出现在页脚之后,一般不用于输出可见内容; - 该接口只作用于
zb_system/admin/index.php入口下的管理页,不作用于各编辑页和cmd.php提交操作; - 触发时
admin_footer.php已输出完毕,页面 HTML 已全部生成,适合执行不需要向前台反馈的收尾逻辑; - 系统自身也通过该接口挂载了
Include_Admin_CheckHttp304OK(用于 HTTP 304 缓存判断),插件写法与之一致。