opsbears / piccolo-templating
此包已被废弃,不再维护。未建议替代包。
Piccolo框架的模板工具
1.0-alpha1
2016-07-22 07:13 UTC
This package is not auto-updated.
Last update: 2020-09-18 20:28:28 UTC
README
此模块提供两项功能
- 一个标准化的
TemplateEngine
接口,所有模板引擎提供者都应该实现。 TemplateRenderingChain
类,可以尝试多个模板引擎以找到并渲染特定模板。
安装
尽管此模块很可能作为其他模块的依赖项被拉入,但您可以使用composer显式安装它。
composer require opsbears/piccolo-templating
配置
默认情况下,您不需要太关注此模块,因为引入至少一个模板引擎将自动加载此模块。但是,如果您愿意,您可以在配置中显式加载它。
'modules' => [
//...
TemplatingModule::class,
//...
],
用法
直接使用模板引擎
如果您只想使用一个模板引擎,这很简单。只需加载模板引擎模块,这将设置依赖注入容器,将传递该引擎而不是TemplateEngine
接口。然后您可以作为依赖项请求TemplateEngine
接口。
function myFunction(TemplateEngine $tpl) {
$tpl->renderFile(
'/path/to/template/directory',
'/path/to/template/directory/templateName.twig'
['myVariable' => 'mydata]
);
}
警告!如果您加载多个模板引擎模块,则配置的最后一个引擎将具有优先权。
使用渲染链
如果您想支持多个模板引擎,您可以使用TemplateRenderingChain
类来做到这一点。模板引擎将自动注册到其中,所以您要做的就是作为依赖项请求渲染链。
function myFunction(TemplateRenderingChain $renderingChain) {
$renderingChain->render(
'/path/to/template/directory',
'templateName'
['myVariable' => 'mydata]
);
}
然后它将自动在/path/to/template/directory
中查找支持每个模板引擎的扩展名的文件templateName
。如果找到,它将渲染并返回结果。