/****************************************
XTpl Template Engine for PHP

Developer:  http://www.weentech.com
Version: 2.0
Requirement: PHP 5.0 or Above
****************************************/


XTpl  С, , ǿPHPģ(οSmarty, SlightPHP, ECShop, DZȿ)

ص:
	Сǿ, ٶȿ, Чʸ(һļ, ע5K)
	ѧ, ûһĿĵ
	֧ԭPHP, ģд淶׼ 
	ϵͳҪPHP5.0ϰ汾(򵥸֧PHP4)

Ŀ¼˵:
	cache/           ʾеģ建Ŀ¼, LinuxҪΪд
	templates/     ʾеģĿ¼
	templates/default           ʾеĬģdefault, һվϵͳNģ
	                                    Ŀ¼µļΪģļ, ļ׺
	templates/default/blog    ʾеĬģdefaultµblogƵģ, ȻblogĿ¼ȫԲҪ. !!!!ע: ĳģĿ¼֧һ¼Ŀ¼
	                                    Ŀ¼µļΪģļ, ļ׺
	XTpl/XTpl.class.php         XTplģļ
	index.php                       ʾ


һʹ
1. XTplļ
	include(XTpl.class.php);   //XTplģļ, ʹ__autoloadħ, һʡ, index.phpļ

2. ʵ
	ͨ: $tpl = new XTpl;

	չ: class index extends XTpl{ ... }   //ҲϵͳеXTplչ, MVCģʽ, ʾindex.php

3. ʼ
	ͨʵʱĳʼ: 
	$tpl->tpl_compile_dir = ROOT . 'cache/default/';  //ģ建·: cacheĿ¼, defaultΪǰģ
	$tpl>tpl_template_dir = ROOT . 'templates/default/';  //嵱ǰģ·: templatesΪģĿ¼, , defaultΪǰģ

	$tpl->tpl_safe_mode = false;  //XTplĬΪfalse, Ϊtrue, ôģļдPHP뽫עͶ

	$tpl>tpl_check = true;  //XTplĬΪtrue, Ҫر˵һ:
	XTplĬΪtrue, ˼ǼģʱļǷѾ, ˾ɻ, δ¾ֱӶ, ʺվ
	ΪļǷ, ȽϵͳԴ, Կϵͳɺرմ˹, ҲΪfalse
	Ϊfalseʱ, ģ, ʱҪջʾ޸ĺĽ, ˵tpl_remove_cache()ջ溯


	չʵʱĳʼ:
	$this->tpl_compile_dir = ROOT . 'cache/default/';
	$this->tpl_template_dir = ROOT . 'templates/default/';

4. ģļ(¾չʵXTplΪ)

	//һ
	$arr = array(
		'key1'=>'value1',
		'key2' => 'value2'			
	);

	$this->assign('test',  'a test var.'); //䵥, ģ: {$test}
	$this->assign($arr);  //ͬʱ, ģ:{$key1}{$key2}
	$this->assign('arr', $arr); //, ģ: {$arr['key1']}{$arr['key1']}  ʹforforeachѭʾ

	$someone = new someone(); //һ

	$this->assign('obj', $someone); //, ģöԱ: {$obj->myname}{$obj->showname('aaaa')}

5. ģļ
	$this->display('index.tpl'); //ģļ, ֧¼Ŀ¼, : $this->display('dirname/xxxx.tpl'); dirnameʾǰģĿ¼µĶĿ¼

6. ջ
	˵, tpl_checkΪfalseʱ, ޸ģļ, ôҪջʾ޸ĺЧ
	XTpl.class.phpļҲΪһ϶ջ溯tpl_remove_cache(), XTpl, XTplʹ(ĺʱע)

	Ѿʵģ, յǰģĻ:
	$tpl->clear_compiled_tpl();    $this->clear_compiled_tpl();

	Щվϵͳ̨ʹģ, ôԽXTpl.class.phpеtpl_remove_cache()Ƶϵͳĺ, :
	tpl_remove_cache(ROOT . 'cache/default/'); //ǰģ·Ϊ

	鲻Ҫ: tpl_remove_cache(ROOT . 'cache/); cacheĿ¼ɾ


ģ﷨(ģļ淶)

1. ע͵д:
        
	׼(Ƽ):    <!--ע͵д1-->
	:              {*ע͵д2*}

	ע: ģвPHP, ôPHPвַܰʽдע, ӦðPHPдע


2. ļд:
	д1:  {include "a.tpl"}
	д2:  {include	 'a.tpl'}
	д3:  {require	 a.tpl}

	д4(ǰģĿ¼½1¼Ŀ¼):  {require	 'blog/a_b_c.tpl'}

	ע: 
	
	i). κģļаļ, ·ڵǰģĿ¼, һ㲻ͬPHP, Ҫע
	: blog/a_b_c.tplļ, blog/xxx.tplļ, д{include  "xxx.tpl"}, Ҫд: {include  "blog/xxx.tpl"}

	ii). includerequireûκβ, ǰ@ҲЧ. ַʽȫΪĳЩͬѧϰ

	iii). includerequireһո.

	Smarty, DZд{include file="a.tpl"}, XTplд, ͬʱPHP﷨, ﷨, ͬѧǽ!!
	

3. jsдӰ죬Ųһ, {}֮Ĵ뵱PHPģ, .......
	<script type="text/javascript">
	function aaa(){
		alert('aaa');
	}
	</script>
	

4. ʾ(ģ)

	ʾ: {$test}  ע{}ڲκοոPHPз, ͬʱ$ͷ, ͱɸֵ

	ʾ: {$arr["key1"]}  {$arr['key2']} 

	ʾԱ(->ǰпո): {$obj->myname}

	ʾԱзֵ(->ǰпո): {$obj->showname('aaaa')}

	ʾϵͳ: {echo ROOT}  עⲻд: {ROOT}

	ʾĽ: {echo intval($key + 1.2)} עⲻд: {intval($key + 1.2)}


	ܷ{echo $test}{print $test}ʾ?  Ȼ, ֻҪ㲻, Ǻ.


5. ֵ

	򵥸ֵ: {$key=3}

	㸳ֵ: {$key = 3+6}

	㸳ֵ: {$key = $key+6}

	ϵͳ㲢ֵ: {$key=intval($key+0.6)}

	ַ: {$key=$key.'aaa' . 'bbb'}

	ֵʹöԱ(->ǰпո): {$key=$obj -> myname .$obj -> showname('aaaa')}

	ϵͳ: {$key = ROOT . 'abc/'}


	XTplģеĸֵ, дPHPһ, ʵ̫ǿ. Smartyеĺ޸ȫûҪ
	ȽSmartycat޸д: {$test|cat:'123'|cat: "456"}
	XTplд:                      {echo $test.'123'.'456'}

	Աһ, ǲǸ̸, Ҳücat޸ƺ÷

	ٱ: ģеURLʱҪϵͳǷ񿪻α̬л, ʱϵͳпһURL($url)֮ĺ:
	function URL($url){
		if('α̬'){
			return xxxx . $url;
		}else{
			return yyyy . $url;
		}
	}

	ôģпдURL:  {echo URL('blog/index')}
	URLecho(), ôֱд: {URL('blog/index')}
	

6. if elseif else﷨ͬPHP, ֻҪ/if: 
	{$var  = 3} //ֵ

	{if $var=='1' || $var=='9'}
		{$var}
	{elseif $var=='2' AND $var != '9'}
		{$var}
	{elseif($var)}
		{$var}
	{/if}

	
7. forforeachѭ﷨ͬphp, ֻҪ/for/foreach: 

	{for($i=1;$i<=8;$i++)}  
		{$i}  
	{/for}

	{foreach($arr as $k=>$v)}  
		{$k}: {$v}
	{/foreach}


8. ֱʹPHP, ζPHPеκ:

	<?php
		//ע: phpеעֻܰPHPд
		echo 'this is php codes';

		$this->dothing();
	?>
	

9. ģļ, Ƿģеphpжıأ, Ǹһ.
   Ҳ˵ʹPHP봦Ȼضʽֵģе. 紦
	

	<?php
		//php﷨԰phpдע

		$this->_tpl_vars['var_test'] = $_SERVER['HTTP_HOST'];

	?>

	ģеphp: {$var_test}
	

10. ģļ, PHPǷԵģеıأ, Ǹһ.

	{$aaa = array('a', 'b')}      <!--ǰģ-->

	<?php
		echo '<pre>';
		var_dump($this->_tpl_vars['aaa']);   //PHP
		echo '</pre>';
	?>


9͵10˵ľPHPģ֮佻, ע$this->_tpl_varsдOK.
ͨ, չʵXTplģ, д: $this->_tpl_vars, $thisָģ