discuz常用函数说明 设置缓存 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
|