wherd/signal

另一个模板引擎

v1.0.0 2023-02-04 13:13 UTC

This package is auto-updated.

Last update: 2024-09-04 16:43:43 UTC


README

另一个模板引擎。

安装

使用 composer 安装

composer require wherd/signal

简介

Signal 是另一个简单的模板引擎。所有 Signal 模板都会编译成纯 PHP 代码并缓存,这意味着 Signal 对您应用程序的额外开销几乎为零。Signal 模板文件使用 .signal.php 扩展名。

通过传入视图文件所在的文件夹(或文件夹)来创建 Signal 实例。通过调用 render 方法来渲染模板。

use Signal\Compiler;
use Signal\View;

$compiler = new Compiler(__DIR__ . '/views');
$compiler->setCacheDirectory(__DIR__ . '/tmp');

$signal = new View($compiler);

echo $signal->render('homepage', ['name' => 'John Doe']);

显示数据

您可以通过包装变量来显示传递给 Signal 视图的数据。例如,给定以下

use Signal\Compiler;
use Signal\View;

$compiler = new Compiler(__DIR__ . '/views');
$compiler->setCacheDirectory(__DIR__ . '/tmp');

$signal = new View($compiler);

echo $signal->render('homepage', ['name' => 'John Doe']);

您可以这样显示 name 变量的内容

你好,@{ $name }。

您不仅限于显示传递给视图的变量的内容。您还可以输出任何 PHP 函数的结果。事实上,您可以在 Signal 语句中放置任何您希望的 PHP 代码

当前的 UNIX 时间戳是 @{ time() }}。

显示未转义的字符

默认情况下,Signal 的 @{ } 语句会自动通过 PHP 的 htmlspecialchars 函数进行转义,以防止 XSS 攻击。如果您不希望数据被转义,可以使用以下语法

你好,@{! $name }。

// TODO