quasilyte/ktemplate

v0.8.1 2024-04-02 18:45 UTC

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 是一个适用于两种语言的解决方案。