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 

 

 转载 自:http://hi.baidu.com/tong_jh/item/6cf2d7012c694fc990571866

 

你可能感兴趣的:(discuz常用函数说明)