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

被折叠的 条评论
为什么被折叠?



