您好,登錄后才能下訂單哦!
<?php
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="<span style='background-color:";
$res.="{$param['background-color']}";//注意。參數要用大括號括起來
$res.="'>";
$res.=$content;
$res.='</span>';
return $res;
}
$_smarty->registerPlugin('block','mybk','my_bk');
$_smarty->setCacheLifetime(3600);
//$abc=new Memchache();
$_smarty->display('demo1.tpl');
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。