2012-01-24 12 views
0

私はUsersクラスとLogクラスを持っています。 Usersクラスにはいくつかのメソッドがあります。メソッド内にエラーが見つかった場合は、Logクラス内の静的メソッドを呼び出して、テキストファイルとデータベースにエラーを書き込みます。しかし、実際に静的メソッドを呼び出そうとすると機能しませんし、エラーメッセージが表示されません。別のクラス内から静的メソッドを呼び出せません

私は、 'require_once' Log.php 'を使用し、Log :: log_error()を使用してメソッドを呼び出すことで、UsersクラスにLogクラスを含めます。

ここで何が起こっているのですか?

+2

いくつかのコードを表示し、定義し、「動作しませんしてください" さらに詳細に。 – deceze

答えて

4

私が静的メソッドを呼び出す方法に何も問題はありませんでした。私はちょうど私のプログラム(セミコロンがない)に構文エラーがありました。良い夜の眠りの後、私は自分が何をしているのかを理解し、私の脳と常識を使うことに決めました。他のnoobsについては、ここに私がしたことがあります:

error_reporting(E_ALL)に設定されたエラーが報告されていることを確認しました(これは運用サーバーではありません)。

私は、(私のRHEL5システム上* *は/ var/log/HTTP/error_logを)私のエラーログを検索し、リアルタイムで新しいログエントリを表示する -fコマンド尾を走りました。

私は再びスクリプトを実行し、私は素晴らしい "PHP Parse error:syntax error .."エラーが発生していました。参考のため

、OOPに慣れていない、誰もが、私は、静的メソッドの呼び出しを使用していたかを確認したい場合には、ここにコードスニペットがあります:

class Log 
{ 
    public static function log_err($data) 
    { 
    //put code here 
    } 
} 


class User 
{ 
    private function user_action($action) 
    { 
    //put code here 

    //If error call static method from Log class 
    if($err) 
    { 
     Log::log_err($data); 
    } 
    } 

} 
関連する問題