标题：xingTemplate
百科名片
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在模板中使用PHP原生态语法最近在xingTemplate推广时，发现很资深的PHP程序员，喜欢用原生态语法。它确实是很方便，新手又不太熟悉。
在此我把这个功能说明一下，方便大家开发。
//使用原生态语法需要开启直接插入PHP代码的支持。
'PHP_off'=>true
//下面我举例(冒号不要忘记了)
:?>...
:?>...
:?>...
版权申明
xingTemplate 是一个小巧而强大的PHP模板引擎，相信它会为您的开发带来更多乐趣，xingTemplate 是一个免费的软件,您可以把在自己的商业项目中,并且您对此项目拥有所有权. 未经许可不得擅自发布任何修改版本的xingTemplate.