bertptrs / marty
Mako 框架的 Smarty 视图渲染器
v6.2.0
2022-09-11 15:42 UTC
Requires
- php: ^7.2 || ^8.0
- mako/framework: ^6.0 || ^7.0 || ^8.0
- smarty/smarty: ^3 || ^4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- php-parallel-lint/php-parallel-lint: ^1.2
- phpro/grumphp: ^0.19 || ^1
- phpunit/phpunit: ^8.0 || ^9.0
Suggests
- phpunit/phpunit: Test whether templates actually compile in your unit tests.
README
Marty 是 Mako 框架的一个简单的 Smarty 视图渲染器。
需求
Marty 已在所有当前 Mako 版本上进行了测试。其他版本 可能 也能工作,但尚未经过测试。单元测试针对 PHP 7.0 及以上版本运行。需要 Smarty 3 或 4,但将在安装过程中自动引入。
安装
您可以使用 composer 将 Marty 添加到您的 Mako 项目中!只需将其添加到您的需求列表中。
{ /* Stuff */ require: { /* Your other requirements */ "bertptrs/marty": "*" } /* The rest of your composer.json*/ }
使用方法
安装后,您需要将其添加到您的包列表中。您可以通过将其添加到 "Web" 包来实现。这位于文件 app/config/application.php
中。
<?php return [ // … 'packages' => [ // … 'web' => [ 'marty\MartyPackage', ], ], // … ]; ?>
这将为所有具有 ".tpl" 扩展名的视图启用 Smarty 视图渲染器。
配置
可以通过更改 marty::smarty
配置来完成配置。有关详细信息,请参阅 Mako 关于包配置的文档。
配置属性如下
插件
Marty 支持 Smarty 提供的插件结构,并将其扩展为使用 Mako 框架提供的依赖注入器。
可以将插件目录添加到配置中。插件的结构可以在 Smarty 文档 中找到。由于 Mako 通过名称解析参数,Smarty 插件参数应使用文档中指定的名称。这意味着参数应命名为以下方式
- 模板函数
- 参数应命名为
$params
- smarty 模板应命名为
$template
- 参数应命名为
- 修饰符
- 输入数据应命名为
$value
- 其他值将按顺序存储在数组
$params
中。
- 输入数据应命名为
- 块函数
- 调用参数应命名为
$params
- 块内容应命名为
$content
- 模板引用应命名为
$template
- 重复标志应命名为
$repeat
。
- 调用参数应命名为
- 编译器函数
- 调用参数应命名为
$params
- Smarty 引用应命名为
$smarty
- 调用参数应命名为
例如,我们可以构建一个小型插件,该插件使用框架的 I18n 模块。
function smarty_modifier_i18n($value, mako\i18n\I18n $i18n) { return $i18n->get($value); }
然后,我们可以像这样使用您的插件
Lets show {'some.translated.text'|i18n}.
贡献
如果有任何 Smarty 功能不能(轻松)在当前包中使用,或者如果有任何 Mako 功能难以绑定到 Smarty,请随时提交问题或拉取请求。
代码风格和其他规则使用 GrumPHP 运行。请确保您的文件符合这些规则。