karelwintersky/arris.presenter
最新稳定版本:1.4.3
Composer 安装命令:
composer require karelwintersky/arris.presenter
包简介
Presenter for Arris µ-framework, including lazy wrapper over Smarty
README 文档
README
Используется ленивая инициализация
$t = new \Arris\Presenter\Template(smarty_options: [], template_options: [], logger: null);
smarty_options:
template_options:
fileorsource- глобальный файл шаблона, устанавливаемый при инициализации (null);cleanup_extra_eol- убирать ли лишние переводы строк при рендере (true);hook_disable_named_params(false) - отключить ли именованные параметры для хуков?ignore_undefined_hooks(true) - игнорировать неопределенные хуки: если метод хука не найден/не определен - возвращаем пустую строку как результат хука
Отключение именованных параметров для хуков позволяет избежать ошибки вида "Uncaught Error: Unknown named parameter $foo"
Она возникнет в PHP8, если запись хука будет вида:
{hook run='pre_content' foo=$foo}
... но в обработчике хука не будет именованного параметра $foo.
Эта ошибка - следствие обратно-несовместимого изменения методов call_user_func* в PHP8:
https://dev.to/seongbae/unknown-named-parameter-2gln
(In PHP 7, the keys in $params were ignored. However, in PHP 8, they are not - keys are converted to named parameters.)
Отключение ошибки достигается применением array_values() к списку параметров.
P.S. На самом деле это решается прямым указанием значений по-умолчанию в обработчике хука:
->registerHook('pre_content', function ($foo = 'aaa'){ return "pre content hook with arg: {$foo}"; })
Тогда
{hook run='pre_content' foo=$foo}
{hook run='pre_content'}
отрабатывают корректно оба.
统计信息
- 总下载量: 261
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-07