[插件制作] Discuz!插件的通过数据库读取和缓存读取获取插件信息和参数
2018-01-27 18:47
260 查看
编写插件程序时,可能需要读取一些插件的信息,如果插件需要使用者进行配置,还需要读取使用者设置的参数值。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文件
loadcache('plugin');
$var = $_G['cache']['plugin']['archy_about'];
复制代码
模板about.htm中使用$var['gonggao']来调用插件的设置内容。
由于调用系统缓存统一通过“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文件
loadcache('plugin');
$var = $_G['cache']['plugin']['archy_about'];
复制代码
模板about.htm中使用$var['gonggao']来调用插件的设置内容。
相关文章推荐
- 通过数据库读取,获取MVM各扫描任务的漏扫数量趋势统计以及详细信息查询
- Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
- 3.ansible1.7.2 callback插件获取硬件信息并插入到数据库中
- MS SQL 获取数据库名,表名,列名,说明等信息(SQL Server 2005 测试通过)
- 通过给事件处理程序传递this参数,获取事件源对象的引用。单机提交按钮时在信息框中显示用户输入的字符。
- JQuery扩展插件Validate 3通过参数设置错误信息
- python通过snmp协议运用多线程获取多台主机网卡信息,写入数据库
- Android 通过读取本地Arp表获取当前局域网内其他设备信息
- 数据库连接通过getcolumns()函数获取表字段信息
- 通过mssql数据库来获取主机的硬件相关信息,网卡,硬盘,主板等
- 学习Discuz! X3.2记录:一个很简单的插件制作过程,未涉及数据库,跳出一条提示语
- Android - 通过系统数据库获取SD卡音乐媒体信息
- 通过JDBC连接数据库(MySql为例)并读取数据库信息--JSP基础
- 【java工具】使用jdbc访问数据库获取某个存储过程信息及下面参数信息
- 通过Exiv2读取照片的Exif信息获取GPS,焦距等信息
- 通过反射获取泛型的参数类型信息
- 通过IntentService读取收获地址省市县信息存入数据库
- 避免微信的静态缓存+通过js获取和修改地址栏参数
- MS SQL 获取数据库名,表名,列名,说明等信息(SQL Server 2005 测试通过)