模板引擎特意設(shè)計(jì)得很簡(jiǎn)單,循環(huán),條件判斷等都用貼近原生php去實(shí)現(xiàn)。為什么設(shè)計(jì)得如此簡(jiǎn)單呢?框架本身就是為了大家可以快速開(kāi)發(fā)才誕生的,而現(xiàn)在的開(kāi)源系統(tǒng)中,大部分都有一套自己的模板引擎,學(xué)習(xí)一個(gè)系統(tǒng),又需要去重新學(xué)習(xí)一套模板標(biāo)簽,大大增加了學(xué)習(xí)成本,違背了框架誕生的初衷,故我把模板引擎設(shè)計(jì)得很簡(jiǎn)單,需求復(fù)雜一點(diǎn)的,大家可以也自行完善標(biāo)簽庫(kù)。
模板配置
說(shuō)明:在根目錄里config.php文件中可配置,這里的config.php是全局配置文件,如果想單獨(dú)對(duì)某個(gè)應(yīng)用配置可以把這個(gè)文件移到對(duì)應(yīng)應(yīng)用的根目錄里即可。
//配置代碼如下:
<?php
//APP模板配置
$config['TPL_NAME'] = 'default';//模板默認(rèn)風(fēng)格包名
$config['TPL_CACHE_TIME'] = 1 ;//模板緩存時(shí)間 單位 秒
?>
//還有其他一些框架不建議修改的配置如下
<?php
$config['TPL_SPACE'] ='template';//模板存放文件夾名,一般不需要修改
$config['TPL_SUFFIX']='.html';//模板后綴,一般不需要修改
$config['TPL_CACHE_SPACE']='tpl_cache';//模板緩存存放文件夾名,一般不需要修改
$config['TPL_CACHE_SUFFIX']='.php';//模板緩存后綴,一般不需要修改
?>
啟用模板引擎//index_controller.php文件 只要修改成
<?php
class index_controller extends controller{//只要這里繼承下controller 類(lèi)既可加載模板引擎
public function index(){
echo 'Hello World!';
}
}
?>
模板賦值與輸出//index_controller.php文件 只要修改成
<?php
class index_controller extends controller{//只要這里繼承下controller 類(lèi)既可加載模板引擎
public function index(){
$this->view['list'] = $list;//模板賦值 $list可以是字符串,數(shù)組等任何類(lèi)型
$this->view('index'); //模板輸出
/*
$this->view('index');加載app/應(yīng)用/template/default/index.html模板 .html后綴名可在配置里修改 默認(rèn)不用修改
$this->view('index.html'); 也可以直接加上后綴,但是這樣的就不要再去修改配置文件里的TPL_SUFFIX 選項(xiàng)了
$this->view('library/index.html');加載app/應(yīng)用/template/default/library/index.html模板
$this->view();//不加參數(shù),等價(jià)于$this->view(當(dāng)前控制器名/當(dāng)前操作方法.html);
*/
//echo 'Hello World!';
}
}
?>
模板標(biāo)簽1、系統(tǒng)常量
{TPL_PATH} //這個(gè)常量用于加載css、js、圖片 等資源 默認(rèn)值 /app/應(yīng)用/template/風(fēng)格包/
2、變量輸出
{$name} //最后解析為<!--?php echo $name;?-->
{$user['name']} //最后解析為<!--?php echo $user['name'];?-->
3、模板包含,常用于包含公共頭部,公共底部
{include 模板文件名} //如{include top.html}
4、if判斷
{if $name==1}
{elseif $name==2}
{else}
{/if}
5、for 標(biāo)簽
{for $i=0;$i<10;$i++}
{/for}
6、foreach 標(biāo)簽
{foreach $array as $value}
{/foreach}
或
{foreach $array as $key=>$value}
{/foreach}
7、date 時(shí)間函數(shù)
date('Y-m-d H:i:s',time())
8、 URL 解析
{:url('book/list')}
說(shuō)明:
{:url($url = '', $vars = '', $app = '', $suffix = true, $domain = false)}
$url 控制器/操作方法 $vars 參數(shù)支持字符串、數(shù)組 $app 應(yīng)用名 默認(rèn)當(dāng)前應(yīng)用
$suffix 偽靜態(tài)后綴.html默認(rèn)加上 $domain 根域名是否添加
更多建議: