discuz常用 save_syscache函数说明

本文介绍Discuz平台中缓存与全局变量的设置和读取方法,包括使用savecache与loadcache进行缓存操作,以及通过setglobal与getglobal管理全局变量的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置缓存 save_syscache('缓存名',缓存值) ; 同savecache($cachename,$data)相同

读取缓存 loadcache('myname');echo $_G['cache']['myname'];缓存存为$_G['cache']['myname']中

或者使用另一种方式读取缓存

1
2
3
4
5
6
7
8
9
10
require_once './source/class/class_core.php';//程序入口配置文件
$discuz = C::app();//实例化discuz_application类
$cachelist = array('magic','userapp','usergroups','diytemplatenamehome');
$discuz->cachelist = $cachelist;//装载缓存
$discuz->init();//配置整个应用
 
$myarray = array('name'=>'tongjh','body'=>'大家好呀');
savecache('myarray',$myarray);//设置缓存
loadcache('myarray');//装载缓存
debug($discuz->var['cache']['myarray']);//读取缓存


设置全局变量 setglobal('变量名','变量值','可选,设置变量的位置 用/来分隔,a/b/c 等于是设置$a['b']['c'] 下的全局变量') 

读取全局变量 getglobal('变量名','可选,读取多维变量的值 用/来分隔,a/b/c 等于是读取$a['b']['c'] 下的全局变量')

1
2
3
$myglobal = "hollow word";
setglobal('myglobal',$myglobal,'a/b/c');//设置全局变量,第三个参数为可选参数,表示全局变量的位置['a']['b']['c']
debug(getglobal('myglobal','a/b/c'));//输出全局变量


设置cookie  dsetcookie('cookie名','cookie值','cookie生存时间','路径','域名');

读取cookie getcookie('cookie名')


libfile('控制器路径','可选:所属文件夹')

1
2
3
4
5
6
7
8
9
10
function libfile($libname, $folder ='') {
    $libpath = '/source/'.$folder;
    if(strstr($libname,'/')) {//如果$libname参数有/就用explode切开,这里看来只允许一个/
        list($pre, $name) = explode('/', $libname);
        $path = "{$libpath}/{$pre}/{$pre}_{$name}";//很明显的路径
    } else{
        $path = "{$libpath}/{$libname}";//没有/时的路径
    }
    return preg_match('/^[\w\d\/_]+$/i', $path) ? realpath(DISCUZ_ROOT.$path.'.php') :false;//文件名只允许字母和数字
}

例子require libfile('home/mytest') 解析为 require /source/home/home_mytest.php

例子require libfile('home/mytest','class') 解析为require /source/class/home/home_mytest.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值