icanboogie/render

使用各种模板引擎渲染模板。

v0.6.0 2018-03-17 23:51 UTC

This package is auto-updated.

Last update: 2024-09-03 23:16:41 UTC


README

Packagist Code Quality Code Coverage Downloads

一个用于使用各种模板引擎渲染模板的API。

安装

composer require icanboogie/render

渲染引擎

模板可以使用各种模板引擎进行渲染。

以下示例演示了如何使用内置的PHP模板引擎创建一个引擎提供者。

<?php

/* @var ICanBoogie\Render\PHPEngine $engine */
/* @var string $template_pathname */
/* @var mixed $content */
/* @var array<string, mixed> $variables */

$rendered = $engine->render($template_pathname, $content, $variables);

注意:目前,该软件包仅提供渲染PHP模板的引擎,可以通过第三方软件包(如render-engine-markdownrender-engine-patron)扩展可用引擎。

渲染引擎提供者

通过引擎提供者获取渲染引擎。以下提供者是内置的

以下示例演示了如何从不可变提供者获取用于.php扩展的引擎。

<?php

use ICanBoogie\Render\EngineProvider\Immutable;
use ICanBoogie\Render\PHPEngine;

$engines = new Immutable([ '.php' => new PHPEngine() ]);
echo $engines->engine_for_extension('.php')::class; // ICanBoogie\Render\PHPEngine

所有引擎提供者都是可遍历的,此功能可用于收集支持的扩展。

<?php

/* @var EngineProvider $engines */

$extensions = array_keys(iterator_to_array($engines));

echo implode(', ', $extensions); // .php

正在渲染的模板的路径名

引擎应使用Engine::VAR_TEMPLATE_PATHNAME变量来定义正在渲染的模板的路径名,这样就可以轻松跟踪正在渲染哪个模板以及从哪个位置。

模板解析器

模板解析器试图将模板名称与实际模板文件相匹配。可以为解析器定义一系列搜索路径。

渲染器

使用Renderer实例使用主题和选项渲染模板。使用引擎集合和模板解析器查找适合渲染的模板。

持续集成

项目由GitHub actions持续测试。

Tests Static Analysis Code Style

行为准则

本项目遵循贡献者行为准则。通过参与本项目及其社区,您被期望遵守此准则。

贡献

有关详细信息,请参阅CONTRIBUTING

许可

icanboogie/render是在BSD-3-Clause许可下发布的。