smarty后台文件常用方法及说明
创新互联公司制作网站网页找三站合一网站制作公司,专注于网页设计,网站建设、成都网站设计,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为成百上千服务,创新互联公司网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
require 'smarty.inc.php';
global $_smarty;//访问引入文件的变量
//分配变量
#普通变量
#该函数还有第三个参数,设置是否启用缓冲,如果为true,
#变量将不被缓冲
$_smarty->assign('title','虎哥开始学习smarty了');//给前端基本变量赋值
// $_smarty->assignByRef():同上,只是按照引用赋值
#数组
$arr1= array('协调','毛姐');//索引数组
$arr2=array('name'=>'huge','sex'=>'男');//关联数组
$arr3=array('world'=>array('china'=>'河北'));//二维数组
$_smarty->assign('arr1',$arr1);
$_smarty->assign('arr2',$arr2);
$_smarty->assign('arr3',$arr3);
$_smarty->assign('str',' hello x3 aAA');//用于变量修饰器测试
$_smarty->assign('str1','I love ');
$str2="War Dims Hope for Peace. Child's Death Ruins
Couple's Holiday.Man is Fatally Slain. Death Causes Loneliness, Feeling of Isolation.";
$_smarty->assign('str2',$str2);
$_smarty->assign('myname','huge');
$_smarty->assign('len',5);
$arr4=array(1001=>'Hello',1002=>'World',1003=>'Thanks');
$_smarty->assign('arr4',$arr4);
$arr5=range(1,9);
$_smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') );
#clear_all_cache();//清空所有的缓冲
#$_smarty->clearAllCache();
#clear_cache();//清空指定的缓冲
$_smarty->addConfigDir('./config_1');#添加文件目录
//$_smarty->setConfigDir('./config_2');//配置文件只有一个目录了
/*
类似的还有:
addTemplateDir('filename'):添加模板文件目录
addPluginsDir(filename):添加插件目录
getCacheDir():获取缓冲目录
setCacheDir(filename):设置缓冲目录
getCompileDir():获取编译目录
setCompileDir(filename):设置编译目录
getConfigDir():获取配置文件目录
setConfigDir(filename):设置配置文件目录
getPluginsDir():获取插件目录
setPluginsDir(filename):设置插件目录
setTemplateDir(filename):设置模板目录
*/
// 以上函数设置目录的都可以传入关联数组或函数连用,eg
/*
$_smarty->setConfigDir(array(
'one'=>'config1',
'two'=>'config2',
'three'=>'config3'
));
*/
#方法连用
/*
$_smarty->setConfigDir('config1','one')
->setCompileDir('config2','two');
*/
// $arr6=$_smarty->getConfigDir();//获取文件目录
// print_r($arr6);
//append:为数组添加值
$_smarty->append('arr5','1');//和assign一样,放在html_table中会出错
$_smarty->append('arr5','2');
$_smarty->append('arr5',$arr5);
//appendByRef():和append一样,只是通过引用为数组添加值
// $_smarty->clearAllAssign();//清空全部分配变量
// 类似的还有:
// clearAllCache:清空全部缓冲
// clearAssign('name'):清空指定的值,如果清空多个值的话可以用关联数组
// clearAssign('demo1.tpl'):清空指定的模板的缓冲,另外还可以设置指定缓
// 冲id,编译id,生命周期的缓冲
// clearCompiledTemplate:清空编译模板文件,参数同上
// clearCofig():清除配置,如果指定变量名,则清空指定的变量
// $_smarty->compileAllConfig('.conf');//编译所有的配置文件,参数有
// 文件后缀;是否强制编译所有文件,false表示只编译修改过的文件;
// timelimit:设定模板编译过程的时间限制,默认无限制;最有一个参
// 数是设定最大错误次数,超过了这个次数,就停止编译
/*
类似的函数含有
compileAllTemplates:编译全部的模板,参数同上
*/
// $_smarty->configLoad('filename'):加载配置文件,功能同{cofigLoad}标签
/*
$data = $_smarty->createData();//创建一个数据对象,以保存赋值
// 赋值到数据对象
$data->assign('foo','bar');
//创建模板对象,并将数据对象载入到其中作为赋值
$tpl=$_smarty->createTemplate('demo1.tpl',$data);
$tpl->display();
*/
/*
$_smarty->disableSecurity();//关闭安全机制
$_smarty->enableSecurity();//开启安全机制
*/
// $_smarty->fetch('template');//抓取模板内容并显示
// $_smarty->getConfigVars(varname):获取预配置变量,未设置参数时,获取所有变量
// $_smarty->getRegisteredObject(objname):获取已注册对象
/*
$tpl=$_smarty->createTemplate('demo1.tpl');
$tags=$_smarty->getTags($tpl);//获取模板中的所有标签
print_r($tags);
*/
// $_smarty->getTemplateVars();//获取模板变量,如果不设置名称,将获取所有变量
/*
if($_smarty->isCached('demo1.tpl')){//判断指定的模板是否开启缓冲
echo '已缓冲';
}else{
echo '未缓冲';
}
*/
// $_smarty->loadFilter('pre','trim');//载入过滤器
// $_smarty->muteExpectedErrors():忽略脚本警告信息
// $_smarty->unmuteExpectedErrors():移除当前自定义的错误处理器
//注册缓冲资源
// $_smarty->registerCacheResource('name','resourcehandler');
//$_smarty->registerCacheResource('name'):注销缓冲资源
class myclass
{
public static $property='这是一个类的属性';
function __construct(){
}
}
$_smarty->registerClass('myclass','myclass');//注册类
// $_smarty->registerDefaultPluginHandler():注册默认的插件处理器
// $_smarty->registerFilter():注册过滤器
// unregisterFilter:注销过滤器
//registerResource():注册资源
//registerObject():注册对象
//unregisterObject():注销对象
// registerPlugins():注册插件
// unregisterPlugin:注销插件
#注册函数
function my_fn($arr){
return '参数值:'.$arr['param'];
}
$_smarty->registerPlugin('function','my_fun','my_fn');
function my_bk($param,$content){//注册块函数
$res=" $res.="'>"; $res.=$content; $res.='
return $res;
}
$_smarty->registerPlugin('block','mybk','my_bk');
$_smarty->setCacheLifetime(3600);
//$abc=new Memchache();
$_smarty->display('demo1.tpl');
?>
本文标题:smarty后台文件常用方法及说明
本文来源:http://hbruida.cn/article/jcdspg.html