guglielmopepe / tiler
Tiler提供灵活、快速且安全的模板引擎。
1.0.0
2022-01-16 19:43 UTC
Requires
- php: ^8.0
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
的积极开发
- 向项目的GitHub Star添加星标。
- 在社交媒体上分享项目。
- 在Medium、Dev.to或个人博客上撰写评论或教程。
联系方式
如果您需要信息,请将电子邮件发送到info@guglielmopepe.com。
路线图
查看开放性问题列表
变更日志
请参阅变更日志文件以获取有关最近更改的更多信息。
许可证
在MIT许可证下分发。有关更多信息,请参阅许可证文件。