当前位置: 首页 > 软件库 > 程序开发 > 模板引擎 >

x_tiny_tpl

php 模板 class
授权协议 BSD
开发语言 PHP
所属分类 程序开发、 模板引擎
软件类型 开源软件
地区 国产
投 递 者 司国源
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

这是一个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>
 相关资料
  • 英文原文:http://emberjs.com/guides/application/the-application-template/ 应用模板是应用启动的时候默认渲染的模板。 你应该把你的header、footer和其他装饰性的内容放在应用模板里面。另外,应用模版中至少需要一个{{outlet}}占位符,以便路由能根据当前的URL将适当的模版渲染进来。 下面是一个应用模板的例子: 1 2 3

  • Tpongo2 中间件是 pongo2.v3 模板引擎的 Tango 支持。 安装 go get github.com/tango-contrib/tpongo2 示例 package main import ( "github.com/lunny/tango" "gopkg.in/flosch/pongo2.v3" "github.com/tango-contrib/tp

  • 模板中的变量和函数 模板中可以使用的函数或者变量来源如下: 1)Go模板自带的模板函数 2)xweb内置的模板函数和变量 3)通过Server.AddTmplVar或者AddTmplVars添加的函数或者变量 4)通过App.AddTmplVar或者AddTmplVars添加的函数或者变量 5)通过Action.AddTmplVar或者AddTmplVars添加的函数或者变量 6)Action的公

  • Jekyll 使用 Liquid 模板语言,支持所有标准的 Liquid 标签和过滤器。Jekyll 甚至增加了几个过滤器和标签,方便使用。 过滤器 描述 过滤器 和 输出 日期转化为 XML 模式 将日期转化为 XML 模式 (ISO 8601) 的格式。 {{ site.time | date_to_xmlschema }} 2008-11-17T13:07:54-08:00 日期转化为 RF

  • Flask 使用 Jinja 2 作为模板引擎。当然,你也可以自由使用其它的模板引擎,但运行 Flask 本身仍然需要 Jinja2 依赖 ,这对启用富扩展是必要的,扩展可 以依赖 Jinja2 存在。 本节只是快速地介绍 Jinja2 是如何集成到 Flask 中的。更多关于 Jinja2 语法本身的信息, 请参考官方文档 Jinja2 模板引擎 。 Jinja 配置 Jinja 2 默认配置如

  • 虽然 Flask 并不强迫我们使用任何一个特定的模板语言,它假设我们要使用 Jinja。在 Flask 社区中大部分开发者使用 Jinja,我建议你们也这样做。有很多的扩展帮助我们使用其它的模板语言,像 Flask-Genshi 和 Flask-Mako。坚持使用默认的模板语言,除非你有更好的理由使用其它的模板语言。还不知道 Jinja 语法不是一个好的理由!你会节省大量的时间和烦恼。 当我们提及

  • 這裏說明了 GitBook 可以使用的模板功能,GitBook 使用的是 Nunjucks 與 Jinga2 的語法(Jinga2 是 Python 程式語言的一種模板引擎,Nunjucks 則是將其功能實現在 JavaScript 語言環境)。 跳脫 Escaping 如果想要呈現模板的標籤,可以使用 raw 包裹起來,裡面的內容都會原樣輸出成純文字。 {% raw %} this will

  • 上一章的例子,只是很簡單的顯示一行字串。 現在,讓我們加上一些 HTML/CSS 美化網頁,並動態顯示每次進來這個頁面的時間。 第一個 Template 實務上,我們會將前端的程式碼獨立出來,放在 templates 資料夾裡。不僅增加可讀性,也方便與設計師或前端工程師分工。 Template 資料夾 首先建立 Template 資料夾。開啟終端機 (如果不想關閉 web server,可以再開新