x_tiny_tplphp 模板 class

联合创作 · 2023-09-29 01:14

这是一个php模板class,之前我一直使用(Ease Template:http://www.systn.com/data/et/1.html),后因不支持php7,然后就重写了。


XTinyTpl和Ease Template语法类似,功能相对少了一些,主要是自用,因现在不经常用php,所以维护不及时,请谅解。


php版本:php5.3以上


**XTinyTpl文件小,运行速度快。支持模板变量、循环、判断、php函数、php代码段。**


使用说明请查看:doc.html


PHP:


<?php
include('lib/XTinyTpl.class.php');
$tpl = new XTinyTpl(array(
'rootPath' => dirname(__FILE__),
'webPath' => '/test/xtpl',
'tplPath' => 'tpl',
'cachePath' => 'cache',
'extName' => '.html',
'regGlobal' => true,
'mergeInclude' => false
));

$list = array(
array(
'name' => '张三',
'list' => array(
array(
'sub_name' => 'aaa1'
),
array(
'sub_name' => 'aaa2'
)
)
),
array(
'name' => '李四',
'list' => array(
array(
'sub_name' => 'bbb1'
),
array(
'sub_name' => 'bbb2'
)
)
)
);
$tpl->setVar('a', 1);
$tpl->setVar($list);
$tpl->setVar(   
array(  
'var1'=>'123456',   
'var2'=>'abcdefg',
)
);


$tpl->out('test/test');

模板:


<!-- #include file="/inc/header.html" -->

<div class="item">
<div class="title">变量</div>
<div class="info">
<div class="preview">
变量1:{$var1}<br>
变量2:{$var2}-${var2}<br>
变量2:${substr($var1, 0, 3)}
</div>
</div>
</div>

<div class="item">
<div class="title">循环</div>
<div class="info">
<div class="preview">
<ul>
<!-- $list AS $k => $v -->
<li>${k}--${v['name']}
<ul>
<!-- $list AS $v2 -->
<li> ${v2['name']}</li>
<!-- end -->
</ul>
</li>
<!-- end -->
</ul>

<!-- while:$i<10 -->  
<!--{$i++;}-->
${i},
<!-- end -->
</div>
</div>
</div>

<div class="item">
<div class="title">逻辑判断</div>
<div class="info">
<div class="preview">
<!-- IF[$a==1] -->   
变量a为${a} 
<!-- ELSE IF[$a==2] -->   
变量a为${a}  
<!-- ELSE -->   
变量a为空   
<!-- END -->   
</div>
</div>
</div>

<div class="item">
<div class="title">内部引用</div>
<div class="info">
<div class="preview">
<!-- #include file="/inc2/header_sub.html" -->
{inc:/inc2/header_sub}
<!-- inc:inc2/header_sub --> 
{include file="/inc2/header_sub"}
</div>
</div>
</div>
<div class="item">
<div class="title">路径解析</div>
<div class="info">
<pre class="code">
通过 $opt['path_replace'] = array('images'); 配置相对路径,程序会自动加上绝对路径。这样的好处是在做页面时,页面可直接浏览器预览
</pre>
<div class="preview">
src="images/aaa.png"
</div>
</div>
</div>
<div class="item">
<div class="title">嵌入PHP代码</div>
<div class="info">
<div class="preview">
时间处理:{run:}echo date('Y-m-d H:i',time()){/run}  
<br>   
时间处理2:<!-- run: -->echo date('Y-m-d H:i:s',time())<!-- /run -->   
<br>   
条件判断1:{run:}if($a==1){echo '成立';}else{echo '失败';}{/run}   
<br>   
条件判断2:<!-- run: -->if($a==1){echo '成立';}else{echo '失败';}<!-- /run -->   
<br>   
条件判断3:${($a==1)?'成立':'失败'}
<br>   
条件判断4:<!--{echo ($a==1)?'成立':'失败';}--> 
</div>
</div>
</div>
浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报