ThinkPHP系統變量,常量,序列化,反序列化,緩存

變量的輸出: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);//輸出原來的數組格式

      }

相關文章
相關標籤/搜索