如何设置ThinkPHP自定义模板函数?

2026-04-30 11:341阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1037个文字,预计阅读时间需要5分钟。

如何设置ThinkPHP自定义模板函数?

ThinkPHP 6 的模板引擎(ThinkTemplate)不支持直接在视图中调用任意的 PHP 函数。必须显式注册函数才能使用。注册方法如下:

注册入口在 app/provider.php 或服务提供者中,推荐统一在 app/provider.php 添加:

return [ 'think\template\driver\Think' => [ 'function' => [ 'date_format' => '\app\common\helper\DateFormat::format', 'truncate' => '\app\common\helper\StrHelper::truncate', ], ], ];

  • function 键下的数组必须是「函数名」=>「可调用字符串」的映射,不能是闭包或匿名函数
  • 值必须是完整命名空间路径,且该类方法需为 public static
  • 如果函数逻辑简单,也可直接指向全局函数(如 'my_echo' => 'my_echo'),但需确保该函数已加载(建议放在 app/common/functions.php 并在 composer.jsonautoload.files 中声明)

为什么 {:my_func($var)} 总是报错“undefined function”

常见原因是:函数注册了,但没生效;或者函数本身不可被模板引擎安全调用。

阅读全文
标签:ThinkPHPPHP

本文共计1037个文字,预计阅读时间需要5分钟。

如何设置ThinkPHP自定义模板函数?

ThinkPHP 6 的模板引擎(ThinkTemplate)不支持直接在视图中调用任意的 PHP 函数。必须显式注册函数才能使用。注册方法如下:

注册入口在 app/provider.php 或服务提供者中,推荐统一在 app/provider.php 添加:

return [ 'think\template\driver\Think' => [ 'function' => [ 'date_format' => '\app\common\helper\DateFormat::format', 'truncate' => '\app\common\helper\StrHelper::truncate', ], ], ];

  • function 键下的数组必须是「函数名」=>「可调用字符串」的映射,不能是闭包或匿名函数
  • 值必须是完整命名空间路径,且该类方法需为 public static
  • 如果函数逻辑简单,也可直接指向全局函数(如 'my_echo' => 'my_echo'),但需确保该函数已加载(建议放在 app/common/functions.php 并在 composer.jsonautoload.files 中声明)

为什么 {:my_func($var)} 总是报错“undefined function”

常见原因是:函数注册了,但没生效;或者函数本身不可被模板引擎安全调用。

阅读全文
标签:ThinkPHPPHP