2011-12-20 5 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

+0

'functions'은 정의한 클래스입니까? – Sudantha

+0

예, 정적 함수로 가득 찬 클래스입니다. – LeeTee

답변

1

오류로 인해 functions::mssql_escape_string_rev()이 정의되지 않았습니다.

우리는 당신이 정말로 당신을 도울 수없는 정의라고 생각하는 것을 볼 수 없기 때문에.

내게는 전화가 Functions::mysql_escape_string_rev()이고 대문자 인 Fmysql 인 것처럼 보입니다.

업데이트

다른 클래스의 정적 함수 호출이 정상적으로 작동합니다 당신이 기능 클래스를 포함 http://codepad.org/wrfm5X7j

어쩌면 당신은 호출 mysql_escape_string_rev 전에.

+0

왜 그는 mssql을 사용하지 않아야합니까? 그러나 나는 자본'F'에 동의한다. – mAu

+0

아, 그럴 수 있습니다. 그러나 우리는 모르기 때문에 추측 할 수 있으며 mysql이 mssql 일 가능성이 큽니다. – PiTheNumber

+0

mysql이 아닌 mysql을 사용하고 있습니다. 또한 나의 수업 기능은 작은 자본으로 이루어져 있습니다. 따라서 내 메소드 제목과 클래스 제목은 올바른 PS입니다. 나는 그녀 야; 0) – LeeTee

관련 문제