Discuz开发 Discuz!插件的通过数据库读取和缓存读取获取插件信息和参数

[复制链接]
ARCHY明星会员实名认证 发表于 2012-9-10 13:22:20 [Discuz开发] 显示全部楼层 |阅读模式 上一主题 下一主题

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
编写插件程序时,可能需要读取一些插件的信息,如果插件需要使用者进行配置,还需要读取使用者设置的参数值。discuz! 允许插件程序使用数据库读取和缓存读取这两种方法获取插件信息和参数。Discuz! 的插件接口已经对插件信息进行了合理的缓存,使用缓存读取的方式,将比数据库读取速度更快,消耗的资源更是几乎可以忽略不计。缓存读取唯一的局限是需要插件使用插件接口提供的通用后台管理程序。如果使用自定义后台模块的方式,需要后台模块将参数存放到 pluginvars 数据表中,才能被系统正常缓存。我们强烈推荐您通过缓存读取插件信息和配置数据。

由于调用系统缓存统一通过“loadcache()”函数调用,并存放于 $_G['cache'] 中,因此“loadcache('plugin')”后插件的变量缓会存放于 $_G['cache']['plugin'] 中。嵌入点插件和以 plugin.php 为主脚本调用的插件无需加载此缓存,系统已自动加载了缓存。变量配置类型为“版块/*”的变量会保存在 $_G['cache']['forums'][fid]['plugin'] 中。变量配置类型为“用户组/*”的变量会保存在 $_G['cache']['usergroup_groupid']['plugin'] 和 $_G['group']['plugin'] 中。

比如:站帮网的关于我们插件中about.inc.php文件
  1. loadcache('plugin');
  2. $var = $_G['cache']['plugin']['archy_about'];
复制代码
模板about.htm中使用$var['gonggao']来调用插件的设置内容。




上一篇:编写Discuz插件需要仔细注意的一些原则
下一篇:Discuz插件页面嵌入类型脚本格式

大神点评2

kakata 发表于 2013-3-25 14:58:36 [Discuz开发] 显示全部楼层
没什么实际意义,这就是一个官方的手册复制版的而已。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表