r3c / deval
支持编译时部分评估的模板引擎
1.1.8
2024-08-14 20:35 UTC
This package is auto-updated.
Last update: 2024-09-24 05:51:10 UTC
README
概述
Deval是一个PHP模板引擎,支持在编译时进行部分评估,以便进行早期错误检测、优化生成的代码并提高执行性能。
虽然大多数PHP模板引擎遵循“加载变量并渲染”的工作流程,但Deval引入了一个中间的预编译注入步骤,用于指定在每次渲染中都不会改变的变量。通过这样做,Deval将预先评估您的模板,并生成所有这些不变量都已评估的专业化代码。
以下示例模板
{{ $ locale(language, "users.list") }}
{{ for user in users }}
- {{ $ user.login }}
{{ empty }}
{{ $ locale(language, "no.users") }}
{{ end }}
在注入一个locale
函数和一个language
变量后,将编译一个类似的PHP片段
Registered user:
<?php $_counter = 0; foreach ($users as $user) { ?>
- <?php echo $user->login; ?>
<?php ++$_counter; } if ($_counter === 0) { ?>
No users registered.
<?php } ?>
如您所见,所有依赖于变量locale和language的语句都已评估在生成的代码中,因为它们的值在编译时是已知的。其他变量保持未更改,Deval期望您在渲染模板时指定它们的值(如果未指定,将引发错误)。
说明
使用Composer安装Deval并自动加载
composer require r3c/deval
或从GitHub下载最新版本,然后手动解包并require
require 'path/to/deval/deval.php';
完整的文档可在Read the Docs上找到。
资源
- 联系方式:v.github.com+deval [at] mirari [dot] fr
- 许可证:license.md