colorium/templating

Colorium 模板组件

dev-master 2016-02-23 09:23 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:47 UTC


README

基本用法

# awesome.php
<html>
    <head></head>
    <body>
        <h1>Hello <?= $name ?> !</h1>
    </body>
</html>
use Colorium\Template\Templater;

$templater = new Templater;
echo $templater->render('awesome', ['name' => 'you']); // Hello you !

设置

设置根目录

$templater->directory = __DIR__ . '/../views/';

设置文件扩展名(默认: .php

$templater->suffix = '.phtml';

辅助函数

辅助函数是一个内部沙箱函数,仅在模板中使用。

$templater->helpers['hi'] = function($name)
{
    return 'Hi ' . $name . ' !'; 
};
# awesome.php
<html>
    <head></head>
    <body>
        <h1><?= self::hi($name) ?></h1>
    </body>
</html>

布局

你可以为当前模板设置布局(并传递一些数据)

# awesome.php
<?php self::layout('mylayout', ['title' => 'Awsome Page']) ?>

<h1>Hello <?= $name ?> !</h1>

在布局文件中,定义放置模板内容的位置

# mylayout.php
<html>
    <head>
        <title><?= $title ?></title>
    </head>
    <body>
        <?= self::content() ?>
    </body>
</html>

你可以使用 block($name) 在布局中定义可访问的块

# mylayout.php
<html>
    <head></head>
    <body>
        <nav>
            <?php self::block('breadcrumb') ?>
            Homepage
            <?php self::end() ?>
        </nav>
        
        <?= self::content() ?>
    </body>
</html>

并使用 rewrite($name) 从模板中更改它

# awesome.php
<?php self::layout('mylayout') ?>

<?php self::rewrite('breadcrumb') ?>
Homepage > Awesome
<?php self::end() ?>

<h1>Hello !</h1>

结果

# mylayout.php
<html>
    <head>
        <title></title>
    </head>
    <body>
        <nav>
            Homepage > Awesome
        </nav>
        
        <h1>Hello !</h1>
    </body>
</html>

安装

composer require colorium/templating