ajur-media/template
最新稳定版本:1.2.0
Composer 安装命令:
composer require ajur-media/template
包简介
Template class for AJUR Media projects, based on Smarty
README 文档
README
https://github.com/ajur-media/template https://packagist.org/packages/ajur-media/template
How to use?
require_once __DIR__ . '/vendor/autoload.php'; $SMARTY = new Smarty(); $SMARTY->setTemplateDir( __DIR__ ); $SMARTY->setCompileDir( __DIR__ . '/cache/'); $SMARTY->setForceCompile(true); // Global + inner templates $global = new \AJUR\Template($SMARTY, $_REQUEST); $global->setTemplate('1.tpl'); $inner = new \AJUR\Template($SMARTY); $inner->setTemplate("2.tpl"); $inner->assign('value_1', 'FOO'); $inner->assign('value_2', 'BAR'); $global->assign("content", $inner->render()); echo $global->render(); // Global + include secondary template: $global = new \AJUR\Template($SMARTY); $global->setTemplate('0.tpl'); $global->assign("file", "2.tpl"); $global->assign('value_1', 'FOO'); $global->assign('value_2', 'BAR'); echo $global->render(); // JSON $global = new \AJUR\Template($SMARTY); $global->assign("file", "2.tpl"); $global->assign('value_1', 'FOO'); $global->assign('value_2', 'BAR'); // or use helper $global->assignJSON([ 'file' => '2.tpl', 'value_1' => 'FOO', 'value_2' => 'BAR', ]); $global->setRenderType(\AJUR\Template::CONTENT_TYPE_JSON); echo $global->render();
Плагины шаблонизатора
Для корректной работы плагина нужен параметр opcache.save_comments = 1 в php.ini
Передача параметров в (регистрируемые) плагины:
modifier
Есть два способа и зависят они от способа регистрации функции:
А) через перечисление аргументов (причем опущенные аргументы принимают значение по умолчанию)
{$size|size_format:decimals:separator:separator}
Тогда функция должна быть определена так:
public static function size_format(int $size, int $decimals = 0, string $decimal_separator = '.', string $thousands_separator = ','):string;
Б) через массив аргументов
{$size|size_format:[3,',','-']}
Тогда функция должна быть определена иначе:
public static function sf(int $size, array $params):string { $decimals = $params['decimals'] ?? 3; $decimal_separator = $params['decimal_separator'] ?? '.'; $thousands_separator = $params['thousands_separator'] ?? ','; // ... }
function
Используется так:
{sum a=11 b=14}
Метод должен быть определен ТОЛЬКО так:
function sum($params) { return ($params['a'] ?? 0) + ($params['b'] ?? 0); }
@todo:
ajur-media/template 适用场景与选型建议
ajur-media/template 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 145 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 01 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 ajur-media/template 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ajur-media/template 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 145
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-01-20