discuz常用函数说明

[复制链接]
admin 发表于 2019-12-24 16:41:54 | 显示全部楼层 |阅读模式 1
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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

公告上一条 /1 下一条