quasilyte / ktemplate
v0.8.1
2024-04-02 18:45 UTC
Requires
- vkcom/kphp-polyfills: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- vkcom/kphpunit: ^1.0
- vkcom/ktest-script: ^0.7.4
This package is not auto-updated.
Last update: 2024-09-18 18:40:18 UTC
README
概览
KTemplate 是一个简单的 PHP 和 KPHP 文本模板引擎。
KTemplate 使用与 Twig、Django 和 Jinja 模板语言类似的语法。
您可以在 线上 尝试它!
特性
- 跨语言支持:适用于 PHP 和 KPHP
- 安全性:不使用 eval 或动态 PHP 代码生成/加载
- 编译时检查:许多错误在模板编译期间被捕获
- 零拷贝数据绑定:高效灵活的数据提供者模型
- 性能:模板被编译为优化的字节码
快速开始
$ composer require quasilyte/ktemplate
<?php require_once __DIR__ . '/vendor/autoload.php'; use KTemplate\Context; use KTemplate\Engine; use KTemplate\ArrayLoader; use KTemplate\ArrayDataProvider; $loader = new ArrayLoader([ 'main' => '{{ title }}', ]); $engine = new Engine(new Context(), $loader); $data = new ArrayDataProvider(['title' => 'Example']); $result = $engine->render('main', $data); var_dump($result); // => "Example"
使用 PHP 运行
$ php -f example.php
string(7) "Example"
使用 KPHP 运行
# 1. Compile $ kphp --composer-root $(pwd) --mode cli example.php # 2. Execute $ ./kphp_out/cli string(7) "Example"
文档
原理
没有 PHP 的模板引擎可以使用 KPHP。
KTemplate 是一个适用于两种语言的解决方案。