bonfim/tpl

v2.2.2 2018-09-09 20:00 UTC

This package is auto-updated.

Last update: 2024-09-29 05:46:27 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

目录

先决条件

  • PHP 7.1+

安装

$ composer require EdsonOnildoJR/PHP-Template-Engine

基本用法

创建一个 index.php 文件并引入 composer 的 autoload.php

<?php

include 'vendor/autoload.php';

之后,进行所有必要的配置

use Sketch\Tpl;

Tpl::config([
    //'environment' => 'production',
    'environment'   => 'development',
    'template_dir'  => 'path/to/templates',
    'cache_dir'     => 'path/to/caches'
]);

分配和渲染模板

Tpl::assing('title', 'Hello!');
Tpl::render('test');

草图标签

变量

变量是模板的动态内容,在脚本执行时通过 Tpl::assing() 静态方法进行赋值。变量名区分大小写。

模板

Welcome to {title}

数据

<?php

Tpl::assign('title', 'Sketch');

输出

Welcome to Sketch

变量上的修饰符

您可以在变量上添加执行修饰符。

模板

Hello {name|capitalize}!

数据

<?php

Tpl::assign('name', 'edson onildo');

输出

Hello Edson Onildo!

条件表达式

检查一个表达式,如果条件为真则打印 {if}{else} 之间的代码,如果条件为假则打印 {else}{/if} 之间的代码。尝试使用嵌套块 :)

模板

{if age >= 18}
    Adult
{else}
    Minor
{/if}

数据

<?php

Tpl::assign('age', 19);

输出

Adult

您还可以使用 {if condition}内容{elseif condition}内容{else}内容{/if} 或任何 if 和 else 的组合。

循环

允许遍历数组或对象的值。

模板

<ul>
    {loop authors as author}
    <li>
        {author.name}: {author.page}
    </li>
    {/loop}
</ul>

数据

<?php

$authors = [
    [
        'name' => 'Edson Onildo',
        'page' => 'https://github.com/EdsonOnildoJR'
    ],
    [
        'name' => 'Contributors',
        'page' => 'https://github.com/EdsonOnildoJR/Sketch/contributors'
    ]
];

Tpl::assign('authors', $authors);

输出

Edson Onildo: https://github.com/EdsonOnildoJR
Contributors: https://github.com/EdsonOnildoJR/Sketch/contributors

函数

使用 {func funcname()} 标签执行 PHP 函数并打印结果。您可以传递字符串、数字和变量作为参数。

模板

{func date('Y')}

输出

2018

包含

使用 {include 'template'} 标签可以包含外部模板作为块。

模板

<h1>New user:</h1>
{template 'userForm'}

输出

<h1>New user:</h1>
<form class="user" action="" method="post">
    ...
</form>

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCODE_OF_CONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 inbox.edsononildo@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件