2011-12-20 115 views
1

我有以下类到我的主类中的另一个类。PHP OOP - 从类内的另一个类调用静态方法

class Products 
{ 
    public function __get($key){ 
     return trim(functions::mssql_escape_string_rev($this->fields[ $key ])); 
    } 
} 

这回人类错误:Call to undefined method functions::mssql_escape_string_rev()

是不是有什么毛病我的语法或可这不能做?

下面是用于自动载入类的代码,这适用于其他任何事情,所以我知道代码没有错误。它似乎并没有在课堂上发起。

// autoloader function called when we try to instantiate a class but haven't included the file 
function __autoload($resource_name){ 

    $resource_name = trim($resource_name); 

    try { 

     $filepath = CLASS_PATH."/class.".$resource_name.".inc.php"; 

     if(@!include($filepath)){ 

      throw new Exception(''); 
     } 

    } catch(Exception $e) { 

     exit("Could not find the required file: ".$resource_name); 

    } 
} 

** * ****编辑* **** 请忽略这一点,我犯了一个愚蠢的错误,其中包括功能:: mssql_escape_string_rev两次。对不起,时间浪费..

+0

“功能”是你的另一类吗? – hungneox 2011-12-20 12:32:53

+0

函数是你定义的类吗? – Sudantha 2011-12-20 12:37:17

+0

是的,它是一个充满静态功能的类。 – LeeTee 2011-12-20 12:37:21

回答

1

由于错误说问题是functions::mssql_escape_string_rev()没有定义。

由于我们无法看到您认为的定义,所以我们无法真正帮助您。

对我来说,它看起来像拨打Functions::mysql_escape_string_rev()与资本Fmysql

更新

调用从另一个类的静态功能正常工作:包括你的功能类前http://codepad.org/wrfm5X7j

也许你在呼唤mysql_escape_string_rev。

+0

为什么他不应该使用mssql?但我同意首都'F'。 – mAu 2011-12-20 12:44:56

+0

哦,他可以。但是由于我们不知道,我只能猜测,而mysql更可能是mssql。 – PiTheNumber 2011-12-20 12:47:09

+0

我正在使用mssql而不是mysql。另外我的班级职能是一个小的f不是大写的。因此我的方法标题和类标题是正确的PS。我是她; 0) – LeeTee 2011-12-20 13:59:59