2009-10-29 6 views
7

ここにはエラーがある場合の部分です。

Fatal error: Using $this when not in object context in /pb_events.php on line 6

6行目は次のとおりです。$jpp = $this->vars->data["jpp"];

function DoEvents($this) { 

    global $_CONF, $_PAGE, $_TSM , $base; 

    $jpp = $this->vars->data["jpp"]; 

    $cache["departments"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_departments]}"); 
    $cache["locations"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_location]}"); 
    $cache["names"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_names]}"); 
    $cache["categories"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_categories]}"); 

どうもありがとう!感謝する!

答えて

13

$これが唯一の方法ではなく、機能

に理にかなっている、これはokです、これは

function some() { 
    $this-> 

//エディットではありません

class Foo { 
    function bar() { 
      $this->... 

:「彼は渡し気付きませんでした$ this "をパラメータとして使用

アドバイス:" $ this "を" $ somethingElse "に置き換えます

+0

返信ありがとうございます!これはPHP4上でうまく機能していたオープンソースのソフトウェアコードです。今私はPHP5を試して、エラーがある:/私は非常にPHPではよくない/あなたの助言に応じて問題を整理しようとしている... –

+0

どのように私はこれを編集できますか? :/私はクラスを上に置くと、他のページは動作していません...大きな混乱 –

+0

wowowowow man !!わたしは、あなたを愛しています@@@@!!!!命を救う!!!!多くの人に感謝! :))woaaaaとても幸せ!! –

6

$thisを手続き関数に渡すことはできません。 $thisは予約済みの変数です。

+0

ありがとう!ソリューションのアドバイスは何ですか?もう少し明確になりますか?私はあまりphpで良くない:/ –

+3

ちょうど渡される変数の名前を変更します。私の答えをチェックしてください。 –

+0

すごい落ちた! –

0

オブジェクトを最初に作成する必要があります。

$object=new Myobject; 
    DoEvents($object); 
4

私のコメントによると、 $thisを渡し変数として使用し、phpはクラスメソッドの本体の外側でそれを許可しません。

function DoEvents($obj) { 

    global $_CONF, $_PAGE, $_TSM , $base; 

    $jpp = $obj->vars->data["jpp"]; 

    $cache["departments"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_departments]}"); 
    $cache["locations"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_location]}"); 
    $cache["names"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_names]}"); 
    $cache["categories"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_categories]}"); 
+0

はい!それは問題です!どのように愚かな私!あなたのコメントの直前にソートされています...あなたの人生節約者も!どうもありがとう!!!あなたはスーパーです! –

関連する問題