esase / tiny-view
简单的模板引擎,用于展示您的HTML代码。
v1.0.0
2020-08-19 14:47 UTC
Requires
- php: ^7.4 || ^8.0
- esase/tiny-event-manager: ^1.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^9.0 || ^10.0
This package is auto-updated.
Last update: 2024-09-22 18:41:12 UTC
README
Tiny/View 将您的业务逻辑与其展示分离,这意味着您可以将视图存储为一系列分离的 .phtml
文件,并将数据传递给它们,从而保持控制器的简洁。
由于在模板和布局中使用原生 php
,因此该包非常小巧且运行速度快,我们不使用任何额外的标记语言,它仅依赖于php的替代语法。
只有两个主要实体:模板
和 布局
。
模板
用于显示小块信息,如用户列表、登录表单等。而 布局
则作为这些模板的包装器。例如,您可以拥有几个包含已包含的 css
和 js
文件的布局,这使得您的生活更加轻松,因为您不需要为每个模板指定任何 js
和 css
文件。
模板
<?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