esase / tiny-view

简单的模板引擎,用于展示您的HTML代码。

v1.0.0 2020-08-19 14:47 UTC

This package is auto-updated.

Last update: 2024-09-22 18:41:12 UTC


README

Build Status Coverage Status

Tiny/View 将您的业务逻辑与其展示分离,这意味着您可以将视图存储为一系列分离的 .phtml 文件,并将数据传递给它们,从而保持控制器的简洁。

由于在模板和布局中使用原生 php,因此该包非常小巧且运行速度快,我们不使用任何额外的标记语言,它仅依赖于php的替代语法

只有两个主要实体:模板布局

模板 用于显示小块信息,如用户列表、登录表单等。而 布局 则作为这些模板的包装器。例如,您可以拥有几个包含已包含的 cssjs 文件的布局,这使得您的生活更加轻松,因为您不需要为每个模板指定任何 jscss 文件。

模板

<?php

    use Tiny\View\View;

    // we are going to show the user list
    $view = new View(['users' => [ // an array of users
            ['id' => 1, 'name' => 'Tester1'],
            ['id' => 2, 'name' => 'Tester2']
        ]],
        './users.phtml', // a template for the data,
        './layout/base.phtml' // a layout it's optional 
    );

    // render the template using passed variables and wrap its content to a layout
    echo $view;
<ul>
    <?php foreach ($this->users as $user): ?>
        <li>
            <b><?= $this->id ?></b>: <?= $this->name ?>
        </li>
    <?php endforeach ?>
</ul>

布局

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>My test site</title>
        </head>
        <body>
            <div class="container">
                <!-- inject generated data from templates -->
                <?= $this->content ?>
            </div>
        </body>
    </html>

视图助手

当预构建的功能不足以满足需求或可能不是处理模板的方便方式时,您可以注册自己的助手列表(小函数),它们将执行您想要的操作。请参阅文档中的更多信息。

安装

运行以下命令安装此库

$ composer require esase/tiny-view

文档

https://tiny-docs.readthedocs.io/en/latest/tiny-view/docs/index.html