微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

x_tiny_tpl php 模板 class

程序名称:x_tiny_tpl

授权协议: BSD

操作系统: 跨平台

开发语言: PHP

x_tiny_tpl 介绍

这是一个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>

x_tiny_tpl 官网

https://github.com/Andyfoo/x_tiny_tpl

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐