如何在PHP中调用其他文件定义的函数?代码正确性排查
如何调用其他文件中的
tijd_reactie()函数 首先,咱们一步步梳理解决思路:先搞定文件引入的问题,再修复你现有函数里的小bug,最后讲正确的调用方式,确保能正常运行。
1. 先处理文件引入
从你代码里的$this->database来看,这个tijd_reactie()应该是某个类的成员方法,不是普通全局函数,所以引入方式要注意:
- 第一步:把定义这个类的文件引入到当前文件中,用
require_once避免重复引入(路径换成你实际的文件路径):require_once 'path/to/YourClassFile.php'; - 如果这是普通全局函数(没有
$this),直接引入函数文件即可:require_once 'path/to/functions.php';
2. 修复函数里的明显错误
你提供的函数代码有几个小问题,先修正才能正常工作:
- 变量名拼写错误:
$creat_time应该是$create_time,和查询的字段对应 mktime()用法错误:这个函数需要时、分、秒这类参数,不能直接传数据库的时间字符串。如果你的create_time是YYYY-MM-DD HH:MM:SS格式,用strtotime()转成时间戳才对- 建议加个空值判断,避免没查到记录时报错
修正后的函数示例:
function tijd_reactie() { // 查询id=1的记录的create_time $this->database->query("SELECT id, create_time FROM reacties WHERE id=1"); // 获取单条结果 $create_time = $this->database->single(); // 没查到记录时提前返回,避免后续报错 if (!$create_time) { return null; // 或者返回你需要的默认值 } $cur_time = time(); // 将数据库时间字符串转成时间戳 $make_time = strtotime($create_time['create_time']); // 这里可以添加你需要的业务逻辑,比如计算时间差 $time_difference = $cur_time - $make_time; return $time_difference; // 返回结果供调用方使用 }
3. 正确调用函数
- 如果是类的成员方法:先实例化类,再调用方法
// 实例化你的类(替换成实际的类名) $reactieHandler = new YourClassName(); // 调用方法并接收结果 $reactionTime = $reactieHandler->tijd_reactie(); // 可以打印结果验证 var_dump($reactionTime); - 如果是普通全局函数:直接调用即可
$reactionTime = tijd_reactie(); var_dump($reactionTime);
额外检查点
- 确认
$this->database已经正确初始化,能正常执行查询和获取结果 - 确认
reacties表中存在id=1的记录,否则$create_time会为空,后续转换会报错 - 确认
create_time字段的格式是PHP可识别的(比如YYYY-MM-DD或YYYY-MM-DD HH:MM:SS),否则strtotime()会返回false
内容的提问来源于stack exchange,提问作者blahetpo
相关产品推荐
相关产品推荐

