buuum/template

简单、快速且安全的PHP模板引擎

v2.0.2 2017-05-02 18:22 UTC

README

Packagist license

安装

系统需求

您需要PHP >= 5.5.0 来使用 Buuum\Config,但推荐使用最新的稳定版PHP。

Composer

Buuum\Template 可在 Packagist 上找到,并可以使用 Composer 安装。

composer require buuum/template

手动

只要遵循 PSR-0 或 PSR-4 标准,您可以使用自己的自动加载器。只需将 src 目录的内容放入您的 vendor 目录。

初始化

$dir = __DIR__.'/views',
$supportView = new ViewSupport();
$view = new View($dir, $supportView);

模板标签

循环

  • {{foreach $items as $item}}
  • {{endforeach}}

如果

  • {{if $success}}
  • {{elseif $error}}
  • {{else}}
  • {{endif}}

包含

  • {{@value}} => 包含 $value
  • {{@@value}} => 包含 DIR.'/'.$value;
  • {{@/include/header}} => 包含 DIR.'/include/header.php';

打印

  • {{$var}}
  • {{var_dump($var)}}
  • {{$var or '默认文本'}}
  • {{$var or}} 等同于 {{$var or ''}}
  • {{e.plural {0}没有投票|{1}%s 票|{2}%s 票:::$total_votes}}

表单

  • %input(checked:check){:type=>"checkbox", :name=>"checkm[]", :value=>"1"}

  • <input name="checkm[]" type="checkbox" value="1">

  • %option(selected:select){:value=>"2"} 2

  • value="2">2

模板

### 头部

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8">
    <meta content="<?= $this->getHeader('description') ?>" name="description">
    <meta content="<?= $this->getHeader('keywords') ?>" name="keywords">
    <title><?= $this->getHeader('title') ?></title> 
    <?php if ($this->getHeader('index')): ?>
        <?php if ($this->getHeader('canonical')): ?>
        <link href="<?= $this->getHeader('canonical') ?>" rel="canonical"> 
        <?php endif; ?>
        <meta content="index, follow" name="robots"> 
    <?php else: ?>
        <meta content="noindex, follow" name="robots"> 
    <?php endif; ?>
    <link href="<?= $this->getHeader('favicon') ?>" rel="shortcut icon">
    <link href="<?= $this->getLink('css') ?>" rel="stylesheet">
    <script src="<?= $this->getLink('js') ?>"></script>
</head>

在 viewsupprot 上添加对过滤器支持

在 template 上

class ViewSupport implements ParseViewInt
{
    public function filter_number($value, $params)
    {
        if (!empty($params)) {
            return number_format($value, ...$params);
        }
        return number_format($value, 0, '.',',');
    }
}

在 template 上

{{$var|number}}
{{$var|number(2,'.',',')}}
{{2000|number}}

许可证

MIT 许可证 (MIT)

版权所有 (c) 2016

以下任何人获得此软件及其相关文档副本(“软件”),无论是否免费,均授予在此软件上不受限制的处理权,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许提供软件的人按以下条件进行操作

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是否基于合同、侵权或其他原因,是否由软件或其使用或其他方式引起。