在模板中輸出變量的方法很簡單,例如,在控制器中我們給模板變量賦值:
$name ='ThinkPHP';$this->assign('name',$name);$this->display();
然后就可以在模板中使用:
Hello,{$name}!
模板編譯后的結果就是:
Hello,<?php echo($name);?>!
這樣,運行的時候就會在模板中顯示: Hello,ThinkPHP!
注意模板標簽的{和$之間不能有任何的空格,否則標簽無效。所以,下面的標簽
Hello,{ $name}!
將不會正常輸出name變量,而是直接保持不變輸出: Hello,{ $name}!
普通標簽默認開始標記是{,結束標記是 }。也可以通過設置TMPL_L_DELIM和TMPL_R_DELIM進行更改。例如,我們在項目配置文件中定義:
'TMPL_L_DELIM'=>'<{','TMPL_R_DELIM'=>'}>',
那么,上面的變量輸出標簽就應該改成:
Hello,<{$name}>!
后面的內容我們都以默認的標簽定義來說明。
模板標簽的變量輸出根據變量類型有所區別,剛才我們輸出的是字符串變量,如果是數組變量,
$data['name']='ThinkPHP';$data['email']='thinkphp@qq.com';$this->assign('data',$data);
那么,在模板中我們可以用下面的方式輸出:
Name:{$data.name}Email:{$data.email}
或者用下面的方式也是有效:
Name:{$data['name']}Email:{$data['email']}
當我們要輸出多維數組的時候,往往要采用后面一種方式。
如果data變量是一個對象(並且包含有name和email兩個屬性),那么可以用下面的方式輸出:
Name:{$data:name}Email:{$data:email}
或者
Name:{$data->name}Email:{$data->email}
