所以,我有一个类,并且在类中的一个函数中我试图调用一个全局函数,但是我得到了错误消息:
致命错误:调用未定义的函数()
上述函数所指的行号是以下行:
返回get_session_user_id(session_id());
出现在下面的类函数
中Class Ref {
function treat_var( $var , $table ) { global $link;
// do stuff
return get_session_user_id(session_id());
}
}
treat_var函数是类中的方法,通过以下方式调用:
$ref = new Ref;
$ref->treat_var($var,$table);
get_session_user_id函数是在函数文件中包含的全局函数,在类之外正常工作,其代码包括:
// this function calls a USER_ID *IF one exists* from a session by using the session ID
function get_session_user_id($sessionID) { global $link;
$result = mysqli_query($link, "SELECT USER_ID AS ID from AAB_SESSIONS WHERE PHPSESSID = '$sessionID'");
$r = mysqli_fetch_object($result);
return $r->ID;
}
如何在班级内调用该功能?
答案 0 :(得分:1)
确保在加载类get_session_user_id()
之前加载定义了函数Ref
的全局文件。
换句话说,课程加载应该是这样的:
1.包含包含get_session_user_id()
的impl的全局文件
2.加载班级Ref
要检查发生了什么,请在类定义
之前的Ref.php
内添加
if (!function_exists('get_session_user_id')) {
die('GLOBAL FILE NOT LOADED and get_session_user_id() function not available!!!');
}
答案 1 :(得分:0)
如果您尝试调用get_session_user_id()并且此函数未定义,请检查,此函数的文件未定义,尝试编写
UserForm1.Show False
在您的班级Ref。
的文件开头