phower/view

PHP 脚本的独立模板系统。

1.0.0 2017-04-09 14:52 UTC

This package is auto-updated.

Last update: 2024-09-10 06:06:27 UTC


README

PHP 脚本的独立模板系统。

需求

Phower View 需要

  • PHP 5.6 或更高版本;推荐使用 7.0 版本

安装

使用 Composer 将 Phower View 添加到任何 PHP 项目中

composer require phower/view

使用方法

此软件包为应用程序输出任何类型输出响应提供基本工具,支持一系列可选变量,这些变量在模板内部渲染。

模板是普通的 PHP 脚本,在受保护的环境中渲染,所有变量都已可用。

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

假设上面的模板是一个名为 my_template.php 的文件,那么我们可以使用它来输出一组新的变量。

use Phower\View\TemplateView;

$view = new TemplateView();
$view->setTemplate('my_template.php');
$view->setVariables(['name'] => 'Pedro');

$view->render(); // outputs: <h1>Hello Pedro!</h1>

模板内的模板

很多时候,我们发现在模板中实现多层是有用的,高级模板输出其他模板。

这可以通过在父模板的变量中 捕获 子模板来实现。

use Phower\View\TemplateView;

$child = new TemplateView();
$child->setTemplate('child_template.php');

$parent = new TemplateView();
$parent->setTemplate('parent_template.php');
$parent->capture('child', $child);

$parent->render();

JSON 视图

有时,我们可能希望输出一组变量,但不使用模板,而是以 JSON 纯表示形式输出。

use Phower\View\JsonView;

$view = new JsonView();
$view->setVariables(['name'] => 'Pedro');

$view->render(); // outputs: {"name":"Pedro"}

注意,JsonTemplatePHP json_encode 完全兼容,因此我们也可以设置 optionsdepth,并使用所有接受的值在每个 JsonTemplate 实例中。

运行测试

测试位于一个单独的命名空间中,可以通过命令行使用 PHPUnit 运行。

vendor/bin/phpunit

编码规范

Phower 代码按照 PSR-2 编码风格标准编写。为了强制执行这一点,还提供了 CodeSniffer 工具,并可以运行。

vendor/bin/phpcs

报告问题

如果您发现此代码存在任何问题,请在 Github Issues 中创建一个工单,地址为 https://github.com/phower/view/issues

贡献者

开源是由贡献构成的。如果您想为 Phower 贡献,请按照以下步骤操作

  1. 将最新版本叉到您自己的存储库中。
  2. 编写您的更改或新增内容并将其提交。
  3. 遵循 PSR-2 编码风格标准。
  4. 确保您有针对更改的单元测试,并达到完全覆盖率。
  5. 转到 Github Pull Requests,地址为 https://github.com/phower/view/pulls 并创建一个新的请求。

谢谢!

变更和版本控制

有关此代码的所有相关更改均记录在单独的 日志 文件中。

版本号遵循 语义版本控制 的建议。

许可证

Phower 代码在 The MIT License 下维护。