imponeer/smarty-db-resource

Smarty 插件,增加 DB 资源类型

v3.0.6 2023-09-04 20:29 UTC

This package is auto-updated.

Last update: 2024-09-08 20:25:47 UTC


README

License GitHub release Maintainability PHP Packagist

Smarty 数据库资源

Smarty 资源插件,可从数据库读取模板。

此插件受 Xoops - resource.db 启发,但功能相似。

安装

要安装和使用此包,我们建议使用 Composer

composer require imponeer/smarty-db-resource

否则,您需要手动包含 src/ 目录下的文件。

在 Smarty 中注册

如果您想在项目中使用此包中的扩展,您需要使用 registerResource 函数Smarty 中注册它们。例如

$smarty = new \Smarty();
$plugin = new \Imponeer\Smarty\Extensions\DBResource\DBResource(
    $pdo, // PDO compatible database connection
    'default', // current template set name
    'tplfile',
    'tpl_source',
    'tpl_lastmodified',
    'tpl_tplset',
    'tpl_file',
    function (array $row): string { // function that converts database row info into string of real file
       return $row['file'];
    },
    'default'
);
$smarty->registerResource($plugin->getName(), $plugin);

在模板中使用

要从模板中使用此资源,您需要在访问文件时使用 db: 前缀。例如

  {include file="db:/images/image.tpl"}

如何贡献?

如果您想添加一些功能或修复错误,您可以分叉、更改并创建拉取请求。如果您不确定如何操作,请尝试 交互式 GitHub 教程

如果您发现任何错误或有问题,请使用 问题标签 并在那里写下您的问题。