php 模板 class x_tiny_tpl

BSD
PHP
跨平台
2018-01-02
Andyfoo

这是一个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>
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

trancing in erlang

erlang dbg

2018/03/27 16:23
27
0
学习 smarty

/* 学习 Smarty */ 官网: http://www.smarty.net/ 文档(含中文版的): http://www.smarty.net/documentation 中文版: http://www.smarty.net/docs/zh_CN/ == 设计理念 == * 干净地分离显示逻辑...

2016/06/12 17:22
30
0
用php来接入短信验证码接口

在做项目的初期,我对这个业务毫无头绪,所以我就询问了贴吧里的大神,但是一开贴广告铺天盖地,大神没有招来,打广告的招来很多,我当时感觉就有点儿不靠谱,想说自己找找看,就百度了关键字...

2018/11/19 14:51
12
0
Prestashop中文模版制作指南

Prestashop Css Layout 图: 这是PrestaShop的Css Layout,方便大家知道主要的结构: 关于设计整合PrestaShop的介绍 : 网页设计师只需要掌握好比较好的HTML和CSS技术便能改变Prestashop的外观...

2012/08/13 16:27
380
0
Tiny Core Linux 4.1 发布

Tiny Core Linux是一个仅11MB大小的图形化Linux;基于2.6版本内核,BusyBox, Tiny X, Fltk, 以及Flwm。它是一个轻量级可拓展发行,长驻内存,可从任何可启动设备加载。其4.1版本刚刚发布。诸...

2011/11/25 21:56
132
0
prestashop1.6.1.0列表助手HelperList

列表助手HelperList中generateList方法

2016/01/26 23:18
10
1
关于mysql官网下载不了Linux版本的问题

MySQL官网下载页面无法切换操作系统下拉列表的解决: mysql官网有些人会尝试各种浏览器也不能下载,原因不在浏览器,由于mysql页面中的jquery全部直接引用的googleapis网站,有些网络的DNS无...

2015/08/21 10:21
36
0
extjs4中给字段加上单位的二个办法(behind text)

extjs4中,如某字段的单位是元,万元,或者公里在等,需要在textfield 后面显示这些字, 一个办法是用如下的方案 { xtype: "fieldcontainer", layout: "column", width: 300, items: [ { xt...

2015/12/23 13:36
6
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部