Tiler提供灵活、快速且安全的模板引擎。

1.0.0 2022-01-16 19:43 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:54 UTC


README

Tiler提供灵活、快速且安全的模板引擎。

目录

优势

  • Tiler是面向对象模式
  • Tiler不会强迫你学习新事物
  • Tiler简单如PHP,强大如PHP

特性

Tiler允许你创建子主题、父主题和祖先主题。

Tiler将检查所需的模板是否存在于子主题中,否则将在父主题中查找,并继续沿主题链查找。

如果Tiler在父主题中找不到模板,它将抛出异常。

安装

使用Composer

$ composer require guglielmopepe/tiler

使用

Tiler使用责任链设计模式。

这是/child/theme目录中的模板

// path file: /child/theme/template.php

<p><strong><?php echo $data['foo']; ?></strong></p>

这是/parent/theme目录中的模板

// path file: /parent/theme/template.php

<p><b><?php echo $data['foo']; ?></b></p>

这是/ancestor/theme目录中的模板

// path file: /ancestor/theme/template.php

<p><?php echo $data['foo']; ?></p>

Tiler将检查所需的模板是否存在于子主题中,否则将在父主题中查找,并继续沿主题链查找。

$data = new \Classes\Data(['foo'=>'bar']);

$handler = new \Tiler\Classes\Handler('/directory/of/child/theme');
$handler->connect(new \Tiler\Classes\Handler('/directory/of/parent/theme'));
$handler->connect(new \Tiler\Classes\Handler('/directory/of/ancestor/theme'));

$command = new \Tiler\Classes\Command($data, $handler);
echo $command->render('/template.php');

支持

如果您有请求,请创建一个GitHub 问题

如果您发现安全漏洞,请将电子邮件发送到Guglielmo Pepe的info@guglielmopepe.com。所有安全漏洞都将得到及时处理。

常见问题解答

为什么使用具有ArrayAccess接口的数据类?

数据类允许您像数组一样传递数据,但通过扩展该类,您还可以传递服务定位器:您有一个HMVC。

为什么Tiler有三个单独的类?

Tiler有三个单独的类以实现最大灵活性

  • 您可以使用数据类与服务定位器一起使用,或作为简单数组使用;
  • 您可以将处理程序类与策略结合使用,以基于用户加载模板;
  • 您可以将命令类与代理结合使用,以延迟将数据加载到模板中。

贡献

如果您想感谢并/或支持tiler的积极开发

  1. 向项目的GitHub Star添加星标。
  2. 在社交媒体上分享项目。
  3. MediumDev.to或个人博客上撰写评论或教程。

联系方式

如果您需要信息,请将电子邮件发送到info@guglielmopepe.com

路线图

查看开放性问题列表

变更日志

请参阅变更日志文件以获取有关最近更改的更多信息。

许可证

在MIT许可证下分发。有关更多信息,请参阅许可证文件