====== Z-BlogPHP插件开发小技巧 ====== ===== 让插件更新时配置不被覆盖 ===== 一般插件需要配置选项时都会使用Z-BlogPHP的选项机制,一个简单的技巧可以保证更新应用时用户配置不被重置,示例代码如下 function InstallPlugin_demo() //启用插件时运行 { global $zbp; //Init Config if(!$zbp->Config('demo')->HasKey('demo_ver')) //判断是否存在demo_ver选项,没有才初始化赋值 { $zbp->Config('demo')->demo_ver = '0.1'; $zbp->Config('demo')->demo_os = 'demotest'; $zbp->SaveConfig('demo'); } } Z-BlogPHP 1.4版本添加了HasConfig方法,用于判断配置是否已创建,使用方法如下 $zbp->HasConfig('demo') ===== 防止重复创建自定义模块 ===== Z-BlogPHP 1.3版本以下的模块创建机制没有检查重名问题,其实简单判断下即可,示例代码如下 function demo_create_functions() { global $zbp; if(!isset($zbp->modulesbyfilename['demo_module'])) //检查系统中是否已有该模块,没有则创建 { $t = new Module(); $t->Name = "演示模块"; $t->FileName = "demo_module"; $t->Source = "plugin_demo"; $t->SidebarID = 0; $t->Content = ""; $t->HtmlID = "demo_module"; $t->Type = "div"; $t->Content = 'demo test'; $t->Save(); } }