變量的輸出:javascript
在模板中輸出一個變量有兩種形式:{$list.name} {$list[‘name’]}java
在模板中能夠使用系統變量,以$Think.開頭jquery
系統變量:(舉例選幾個)ajax
得到服務器的IP地址:{$Think.server.SERVER_ADDR}數據庫
得到外部訪問的IP地址:{$Think.server.REMOTE_ADDR}數組
得到服務器的名稱:{$Think.server.SERVER_NAME}緩存
得到ThinkPHP內部定義的變量:服務器
得到當前的時間:{$Think.now}框架
得到當前工具的版本:{$Think.version}函數
模板的頁面:{$Think.template}
模板標籤起始符號:{$Think.LDELIM }
模板標籤結束符號:{$Think.RDELIM }
系統常量:(舉例選幾個)
得到當前文件的url :{$Think.const.__SELF__}
得到模板配置文件的配置項的值:
{$Think.config.db_name}
在ThinkPHP模板中,對變量使用函數調節:
從控制器分配了一個字符串,在模板中,如何截取這個字符串:{$str|substr=###,5,3} 若是當前參數爲函數的第一個參數,能夠不寫###
在模板中加載外部文件:
使用<include file=」」> file( )和display( )的用法同樣。
If標籤的使用:<if condition=」條件1」>value1<elseifcondition=」條件2」>value2<else/>value3</if> condition裏面寫成比較運算符 eq表示等於 neq表示不等於
修改模板引擎的界定符:
在配置文件中,經過TMPL_L_DELIM修改
‘TMPL_L_DELIM’=>’<{’ //修改左定界符
‘TMPL_R_DELIM’=>’<{’ //修改右定界符
修改模板引擎:
'TMPL_ENGINE_TYPE'=>'Smarty'
在分組中添加配置文件,在控制器中使用直接調用C函數。
ThinkPHP的緩存機制:
數據緩存:就是講數據庫中得到的數據保存在一個介質上,須要時直接在這個介質上讀取。
咱們須要經過ThinkPHP中的cache類來實現,經過這個類的方法得到對象,在經過這個對象來實現不一樣介質的數據處理。
經過傳遞不一樣的參數得到不經過的數據處理對象。
$cache=Cache::getInstance(‘File’);
頁面緩存:
1. 開啓緩存
在配置文件中開啓緩存,開啓緩存有必定的規則(數組格式)。
‘HTML_CACHE_ON’=> true,
‘HTML_CACHE_RULES’=>array(
//須要緩存的動做名=>緩存的名稱,緩存的生存週期
‘show’=>array(‘{:module}_{:action}’,1000),
)
{:module}表明當前的控制器名
{:action}表明當前的動做名(例如:show)
{$_GET}<=>{$Think.get.id} 簡寫形式{$_get}
經過地址欄傳遞一個id參數,能夠實現單頁面多緩存
(一般是前臺有緩存,後臺不緩存)
局部不緩存:
在TP框架中,局部不緩存能夠經過js , ajax , jquery實現局部不緩存
<scripttype="text/javascript">
var date=Date();
document.write(date);
</script>
工廠模式:經過傳遞不一樣參數得到不一樣的對象
單例模式:這個類只得到一個對象,再調用這個對象方法
緩存的增刪改查
增:$cache->set(‘password’,’123’,30) 第三個參數是緩存的有效期
刪:rm( ) 改:set( ) 查:get( )
序列化( serialize( ) ):保存數據的時候,將數組或者對象序列化成字符串,可是這個字符串保存了數組或者對象以前的結構和內容,當咱們須要得到這個數據的時候,在將序列化的字符串反序列化成咱們須要的數組或對象(unserialize( ))
例子:
public functionxv(){
//序列化與反序列化
$a=array('name'=>'xiaoming');
$x=serialize($a);
echo $x; //輸出結果爲:a:1:{s:4:"name";s:8:"xiaoming";}
echo "<br/>";
$f=unserialize($x);
print_r($f);//輸出原來的數組格式
}