fenom / extra
Fenom 的扩展包
dev-master
2021-11-11 21:09 UTC
Requires
- php: >5.4.8
- fenom/fenom: 2.*
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-12 03:30:48 UTC
README
Fenom 模板引擎的额外插件包。
Composer 包:
{"fenom/extra": "dev-master"}
。在 Packagist.org 上查看
该库是一系列插件的集合。每个插件都以特性形式存在。这种实现方式允许您创建具有自定义插件集合的模板引擎。此外,库中包含类 Fenom\Extra
- 包含所有插件的模板引擎,可直接使用。
使用类 Fenom\Extra
代替 Fenom
$fenom = Fenom\Extra::factory($template_dir, $compiled_dir, $options);
或组合您自己的模板器
插件列表
例如
class Templater extends \Fenom { use \Fenom\StorageTrait, // add internal storage of variables \Fenom\LoaderTrait, // allow add yours loaders for modifiers and tags \Fenom\PluginLoaderTrait; // add loader for modifiers and tags in Smarty-like style // ... }
所有插件都在类 \Fenom\Extra
中实现。
存储
插件:Fenom\StorageTrait
<?php $fenom->assign("var_name", $value); $fenom->assignByRef("var_name", $value); $fenom->append("var_name", $value); $fenom->prepend("var_name", $value); $vars = $fenom->getVars(); $fenom->assignVars($vars); $fenom->resetVars(); $fenom->pipe($template_name, $callback); $fenom->fetch($template_name); $fenom->display($template_name);
加载器
插件:Fenom\LoaderTrait
插件加载器
插件:Fenom\SimpleLoaderTrait
需要:Fenom\LoaderTrait
<?php $fenom->addPluginsDir($path);
Smarty
插件:Fenom\SmartyTrait
需要:Fenom\SimpleLoaderTrait
<?php $fenom->setSmartySupport(); // enable smarty syntax support
支持
- 在引号字符串中的反引号操作符:
{func var="test `$foo[0]` test"}
- 全局变量
$smarty
(无section
数据) - 标签
assign
- 标签
foreach
- 标签
section
- 标签
math
待办事项
- 在引号字符串中调用插件:
{func var="test {counter} test"}
- 带有
section
数据的全局变量$smarty