百科名片
xingTemplate是一個基於PHP的模板引擎,主要對於PHP程式的方面快速開發而設計.它可以快速將您的模板文檔編譯為PHP檔案,然後進行調用輸出。 有效的提高項目的開發速度及管理。 xingTemplate 模板引擎的特點,內置輸出快取管理。提高PHP程式的處理速度。方便快捷的模板語法風格。 目前最新版本為2.0。
xingTemplate 特點:
支持無限子模板套用
自動讀取模板所需資源,並且及時釋放資源,嚴格的資源利用管理機制.
可自定義模板語法標籤
支持更改提示語言種類
完善的錯誤提示機制
高效快速的編譯速度
簡易的模板語法的使用方法
可控制是否直接插入PHP代碼
支持模板二層快取
支持模板檔案大小限制
附帶模板引擎運行時間統計功能
xingTemplate 是一個基於PHP的模板引擎,php模板引擎,主要對於PHP程式的方面快速開發而設計。它可以通過簡易快捷的模板語法編譯為PHP檔案,代入數據進行輸出。有效地提高項目的開發速度及管理。 xingTemplate 模板引擎不但小巧而且強大,您可以任意擴展你想要的東西。它超快的速度,絕對是項目之首選。
xingtemplate模版使用方法
模板引擎有三個檔案(xingTemplate.php,core.xingTemplate_class.php,core.xingTemplate_debug.php)
xingTemplate.php為入口檔案,裡面是關於模板引擎的各項設定.
本手冊提到的$xingTemplate設定均入口檔案內設定。(省略縮寫均為配置檔案設定)
//同樣可以通過數組方式進行設定
$xingTemplate_set=array('xingTemplate_Left'=>'');
$xingTemplate=newxingTemplate($xingTemplate_set);
或者
$xingTemplate->setConfig($xingTemplate_set);
//支持多模板目錄(相對路徑)
'templateDir'=>array('default'=>'template','default2'=>'template2')
//其中default為模板調用時選擇哪套模板而定的,默認default
'template_Name'=>'default'
//設定模板引擎目錄(此項為特殊需要時修改)
'classDir'=>'D:/web/xingTemplate'
各種模板引擎都有它們自己的語法風格,為了能識別出模板語法,一般都會採用一些符號進行標示,常用的如{}
在xingTemplate也沿用了其他引擎的風格,方便大家的使用,默認標示符為{}
當然,你也可以自行定義:
'left_tag'=>'{'
'right_tag'=>'}'
xingTemplate中繼承了PHP中原有的基本語法,如:if/elseif/foreach/for/while
if和elseif的使用方法:
{if$var=="a"}
那么我就是a
{elseif$var=="b"}
那么我就是b
{else}
不知道
{/if}
foreach的使用方法:
//foreach在模板引擎為了方便,已經改寫為loop(循環),亦可以使用foreach
{loop$arrayas$value}
//輸出你所需要的
{/loop}
另外補充
{loop$arrayas$key=>$value}//同時輸出key
//輸出您所需要的
{/loop}
//{$__i}可輸出循環次數
for的使用方法:
{for$i=0;$i<10;$i++}
//輸出你所需要的
{/for}
while的使用方法:
{while$a<10}
//輸出你所需要的
{/while}
xingTemplate中調用變數和類(屬性+方法):
xingTemplate不需要變數聲明,只要PHP檔案中存在的變數都可以在模板中調用.
{$var}//調用一個變數
{$var['abc']}//調用一個數組
{$var['abc']['abc']}//多維數組調用
{$var->varname}//調用一個類的屬性
{$var->fun_name()}//調用一個類的方法
{$var->fun_name()->fun_name2()...}//調用多級對象
//另增強支持類似以下語法:
{$abc+$abc}
{--$abc}
{++$abc}
{$abc++}
{$abc+9}
{$abc*$abc}
{$abc/$abc}
{$abc.'abc'}
{$abc['key']+$abc}等等
以上為smarty3預期功能,xingTemplate率先實現,並且進行加強
//另支持三元運算{isset($a)?'true':'false'}
在特殊情況,您可以能需要單獨注入該變數,因為xingTemplate並不能獲取如函式,對象內的變數。
$xingTemplate->assign('foo','value');
$xingTemplate->assign(array('foo'=>'value'));
模板中依然用上邊的方法進行調用。
xingTemplate中函式的調用方法:
{function_name()}//調用一個函式如:{time()}/{date('Y-m-d')}
實例:
{time()}//輸出1298136525
{date('Y-m-dH:i:s')}//輸出2011-02-1917:28:45
//另加強功能
{fun()+fun()}等類似上邊變數運算方法
在你一切都就緒之後,就是輸出你漂亮的模板到你的瀏覽器,操作如下:
([]括弧內為選寫項)
$xingTemplate->display('template_name'[,'default']);
//template_name為你的模板名稱,default為選擇的哪套模板
*這樣你的瀏覽器就可以看到模板引擎編譯後的HTML的代碼了(激動的時刻到了,趕快嘗試一下吧)*
$html=$xingTemplate->fetch('template_name'[,'default']);
//此方法為把引擎編譯後的內容返回給$html而不進行直接輸出。
$xingTemplate->display('template_name'[,'default',true]);
//此方法為,忽略輸出快取,編譯為最新內容,一般為調試時使用。
$xingTemplate->template_Runtime;
//在模板輸出後可以取得模板引擎所運行的時間。
通常情況下,為了方便二次開發,我們都會對程式進行一些注釋。
當然這個在xingTemplate中也是存在的,並且繼承PHP原有的方法
{*這是一個注釋*}
{#這也是一個注釋#}
模板中插入PHP代碼
在特殊情況下,需要將PHP代碼寫入模板檔案中,xingTemplate給予了不同的方法實現這些功能。
//這是常用的方式
{_
if($a=="a")
{
//code...
}else{
//code...
}
...phpcode...
}
{_yourcode}//意為執行yourcode
例如:
{_echotime()}等於{time()}
{_echo$var}等於{$var}
//同樣也可以直接插入PHP的原風格,但需要開啟此功能,默認是關閉的
$xingTemplate->xingTemplate_PHP_off=true;
...phpcode...
?>
另:
為了方便,提供的快捷功能
{_e$var}等同於{_echo$var}
{_p$var}等同於{_print_r($var)}
在某些時候,我們編寫的代碼因為複雜而堆雜在一起(常見為標示符重複),就會造成引擎不能識別,所以我們提供一下方法
//常見為標示符重複
{_echodate('{Y-m-d}')}
//按照常用寫法,引擎就會報錯,因為它不能確定是前一個結束還是後一個結束。
所以我們需要指定一下."!",它的意思就是忽略後邊的標示符。
{_echodate('!{Y-m-d!}')}//輸出結果為{2011-02-19}
xingTemplate模板引擎中是支持無限模板套用的,這樣就使你的開發變得更加靈活起來
{xingTemplate$foo}//套用$foo模板
{xingTemplatename}//套用name模板
{xingTemplatedir/name}//套用模板資料夾中的dir資料夾中的name模板
一般情況,我們的程式並不需要及時更新以及讀取資料庫,這是快取技術能幫我節省更多的系統資源,供程式運行的更高速更穩定
xingTemplate中提供了內置的模板快取技術
//PHPcode
'cache_is'=>true//開啟輸出快取
'cache_time'=>5;//輸出快取有效期(秒)
$xingTemplate->setConfig('cacheId','id');
//標示符必須是唯一的,如果為空,引擎會自動調用當前URL並進行MD5值運算
if(!$xingTemplate->is_cached('name'))//判斷快取是否有效(快取過期或者不存在)
{
//無效快取進行更新
}
$xingTemplate->display('name');//輸出name模板
另
$xingTemplate->xingTemplate_clean('cache');//刪除所有輸出快取
$xingTemplate->xingTemplate_clean('compile');//刪除所有編譯快取
$xingTemplate->xingTemplate_clean('name'[,cacheId]);//刪除name模板的ID標示的輸出快取
$xingTemplate->xingTemplate_clean('name'[,true]);//刪除name模板的輸出快取
當你在寫錯了語法,引擎會給出友好的提示。
當你的函式方法不正確,引擎會給出友好的提示。
等等...
當語法錯誤的時候,引擎的提示格式
[xingTemplate]
檔案名稱稱:{模板檔案名稱}
錯誤等級:{錯誤類型或等級}
錯誤所在:{一般情況下,會指出錯在第幾行}
錯誤信息:{PHP錯誤提示信息}
快取檔案路徑:{SERVER_PATH}/xingTemplate_Cache/{name}.phpx_c//這裡為錯誤源檔案地址,方便更詳細的找到錯誤.為了安全,隱藏主路徑
錯誤源產生在:275行
xingTemplate的提示語言是支持多語言的,如果你想挖掘出更深層次的套用,不妨聯繫我們進行交流。
在你寫模板語法時候,為了調試效果,經常會漏掉或者遺忘某些東西,導致不必要的時間浪費。xingTemplate提供了一個方便的功能debug.
//debug可以看出模板引擎的所有配置,以及被引入模板引擎中的所有變數和資源。
//只需簡單就可以,極大的方便了模板調試。
//(開啟後每次運行程式,都會彈出一個視窗,裡面就是你需要的東西了)
'debug'=>true
最近在xingTemplate推廣時,發現很資深的php程式設計師,喜歡用原生態語法。它確實是很方便,新手又不太熟悉。
在此我把這個功能說明一下,方便大家開發。
//使用原生態語法需要開啟直接插入PHP代碼的支持。
'PHP_off'=>true
//下面我舉例(冒號不要忘記了)
:?>...
:?>...
:?>...
著作權申明
xingTemplate 是一個小巧而強大的PHP模板引擎,相信它會為您的開發帶來更多樂趣,xingTemplate 是一個免費的軟體,您可以把在自己的商業項目中,並且您對此項目擁有所有權. 未經許可不得擅自發布任何修改版本的xingTemplate.