在PHPCMS中,自定义函数需存于functions目录并用include_func()引入后调用,例如在myfun.func.php定义format_title函数,控制器加载后即可使用。

在 PHPCMS 中,函数的定义和调用方式与标准 PHP 基本一致,但需要结合框架的目录结构和加载机制来使用。下面介绍如何定义系统函数以及编写和调用自定义函数。
一、PHPCMS 函数的定义位置
PHPCMS 框架中常见的函数通常存放在特定的函数文件中,便于统一管理和自动加载:
-
系统函数文件:位于 /phpcms/libs/functions/ 目录下,如
global.func.php、extention.func.php等,这些函数在系统运行时自动加载。 -
模块专用函数:可在模块的
functions目录下创建自己的函数文件,例如:/phpcms/modules/content/functions/custom.func.php -
自定义函数文件:建议新建一个函数文件,比如
myfun.func.php,并放入合适的 functions 目录中。
二、如何编写自定义函数
以添加一个简单的字符串处理函数为例:
在 /phpcms/libs/functions/myfun.func.php 中写入:
立即学习“PHP免费学习笔记(深入)”;
/**
- 自定义函数:生成带前缀的标题
- @param string $title
- @return string
*/
function format_title($title) {
return '【新闻】' . htmlspecialchars($title);
}
?>
三、如何调用自定义函数
在控制器(如 content 控制器)或模板标签类中调用前,需先引入函数文件:
-
方法1:include_func() 加载函数文件
在控制器方法中使用 PHPCMS 提供的函数加载方法:include_func('myfun', 'libs');或指定模块:include_func('custom', 'content'); -
方法2:直接 include 或 require
include PC_PATH.'libs/functions/myfun.func.php';
加载后即可直接调用函数:
$formatted = format_title('今日要闻'); echo $formatted; // 输出:【新闻】今日要闻四、在模板中使用自定义函数
PHPCMS 模板不支持直接调用任意 PHP 函数,需通过以下方式间接使用:
- 在控制器中提前处理数据并赋值给模板变量:
$data = format_title($title); $this->assign('formatted_title', $data); - 在模板中输出:
{\$formatted_title}
基本上就这些。只要把函数写在正确的文件位置,用 include_func() 或手动包含引入,就能在 PHPCMS 项目中正常使用自定义函数。注意命名不要与系统函数冲突,保持函数简洁可复用。
-
方法1:include_func() 加载函数文件











