企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 自定义模板引擎规则 `GFPHP`中模板引擎是使用 [钩子](钩子.md) 的`filter`机制实现的。 ### 模板引擎编译的过滤器 名称为 `template_filter` 只需要增加这个行为的一个钩子,就可以实现对模板功能进行拓展了。 ### 在配置中增加钩子 文件 `Config/hooks.php` ``` <?php return [ 'template_filter' => [ [ 'Hooks' => Hooks\Template::class, 'Func' => 'parse', ], ], ]; ``` ### 在程序中编译模板前添加钩子 ``` //-- 添加一个编译模板的钩子 Hooks::add('template_filter',Hooks\Template::class,'parse'); ``` ### 钩子实例 ``` <?php namespace Hooks; class Template { //-- 将一个<php>标签转化为原生格式的写法 public function parse($content){ return preg_replace('/<php>(.+)<\/php>/iUs','<?php \\1 ?>',$content); } } ``` ### 模板文件 ``` <php>echo 'hello word!';</php> ``` ### 编译结果为 ``` <?php echo 'hello word!'; ?> ```