2011-12-20 25 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); 

    } 
} 

* ****EDITは* **** これを無視してください、私は愚かなミスを犯したと機能を含め:: 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を使用しています。また、私のクラス関数は、小さなfの資本ではありません。したがって、私のメソッドタイトルとクラスタイトルは正しいPSです。私は彼女です; 0) – LeeTee

関連する問題