萨拉系统/ci4smarty

为CodeIgniter4准备的Smarty集成

0.1.5 2024-09-06 05:41 UTC

This package is auto-updated.

Last update: 2024-09-06 06:08:53 UTC


README

这是为CodeIgniter4准备的Smarty集成。

安装

可以使用Composer进行安装。请先使用Composer安装CI4和Smarty。

$ composer require sarah-systems/ci4smarty

使用方法

默认情况下,Smarty相关路径按以下设置运行。

如果writable正确设置可写入,则以下3个目录将自动生成。如果出现错误,请创建这些目录并分配适当的权限。

如果想要更改此路径,可以通过设置.env文件中的以下参数来更改任意路径。

CI4Smarty.TemplateDir = /path/to/TemplateDir
CI4Smarty.CompileDir = /path/to/CompileDir
CI4Smarty.LeftDelimiter = {{
CI4Smarty.RightDelimiter = }}
CI4Smarty.CacheDir = /path/to/CacheDir
CI4Smarty.ConfigDir = /path/to/ConfigDir

此外,在.env中还可以设置Smarty的Debug标志的开启/关闭以及默认的模板扩展名。

CI4Smarty.Debug = 1 または 0
CI4Smarty.DefaultTemplateExtension = .tpl

view()

CI4的view函数在CI4Smarty命名空间中定义,以供Smarty使用。

在需要使用时,请在app目录下的Common.php中添加以下内容。

require_once ROOTPATH . "vendor/sarah-systems/ci4smarty/src/Common.php";

使用方法与CI4的view函数相同,但在使用函数时需要指定命名空间或提前设置别名。

\CI4Smarty\view('template.tpl');

或者

use function CI4Smarty\view as view;
view('template.tpl');

扩展名.tpl(由CI4Smarty.DefaultTemplateExtension设置,默认为.tpl)是可选的。

view('template');

view函数的第二个参数将被分配给Smarty变量$CI

$data = [ 'apple' , 'banana' , 'lemon' ];
view('template',$data);

在Smarty的模板上

{$CI.0} <-- appleが表示されます。

第三个参数的$options将被忽略。

服务

CI4的服务可用。

use CI4Smarty\Config\Services;

$time = date('Y-m-d H:i:s');
$smarty = Services::smarty();
$smarty->assign('time',$time);
$smarty->display('template.tpl');

许可

源代码采用MIT许可。网站内容采用CC BY 4.0许可,请参阅LICENSE。