基于include.php的标准用法
可以类比一列火车。。出发时会从数据库带上固定的货物,,可以在途经的站点向指定的车箱内增加东西。。或者干脆加挂车箱。再或者把车上的东西搬下来加工一下再搬回来。
所有预定的操作都需要在出发前申请。。
// 申请人“test”,具体申请事项见ActivePlugin_test函数
RegisterPlugin("test","ActivePlugin_test");
function ActivePlugin_test() {
// 在名为Filter_Plugin_Index_Begin的站点停靠,停靠后干啥见test_hello
Add_Filter_Plugin('Filter_Plugin_Index_Begin', 'test_hello');
}
function test_hello()
{
// 在第一节车箱放一箱橘子【雾
global $zbp;
$zbp->header .= '<script>alert("hello")</script>';
}
预约制和买票上车制的不同是,前者到站后你要等叫号,叫到你你再上。
列车发车后,“车长”手里会有这样一份表格,而前边的Add_Filter_Plugin()函数就相当于填写这张表;
站点名 | 事项列表 |
---|---|
aaa | eeee,ttew,aewe |
Filter_Plugin_Index_Begin | test_hello,XXXX |
nnn |
// 到达名为Filter_Plugin_Index_Begin的站点后,对应表格执行相应的事项
foreach ($GLOBALS['hooks']['Filter_Plugin_Index_Begin'] as $fpname => &$fpsignal) {
$fpname();
}
插件自己新开一条铁路
插件下新建一个api.php文件然后写入如下示例
<?php
// 引入必要的系统文件
require '../../../zb_system/function/c_system_base.php';
// 初始化
$zbp->Load();
// 判断当前所属性插件是否启用
if (!$zbp->CheckPlugin('test')) {
$zbp->ShowError(48);
die();
}
// 根据功能可能需要鉴权,本示例为任何人知道地址就能访问并查看本页的运行结果
// http://127.0.0.1/zb_users/plugin/test/api.php
// 取最新10篇文章
$articles = GetList(10);
$pagebar = new Pagebar($zbp->option['ZC_INDEX_REGEX'], true, true);
// 要应用主题模板必须指定pagebar标签,省略了很多属性值,所以结果会是第0页
$zbp->template->SetTags('articles', $articles);
$zbp->template->SetTags('pagebar', $pagebar);
$zbp->template->SetTemplate('index');
$zbp->template->Display();
附件下载
下载需要Resilio Sync,下载后在文件夹中搜索“test.zip”
BMNFE2WCBU5Y3TMRMDU6PFEQYI6IC5IFW