致命的なエラー:オブジェクトコンテキストにないときに$ thisを使用する

StackOverflow https://stackoverflow.com/questions/1643931

  •  10-07-2019
  •  | 
  •  

質問

ここにエラーがある場合の部分があります。

  

致命的なエラー:いないときに$ thisを使用する   のオブジェクトコンテキスト   /pb_events.php   6行目

6行目: $ jpp = $ this-> vars-> data [" jpp"];

function DoEvents($this) {

    global 

ここにエラーがある場合の部分があります。

  

致命的なエラー:いないときに$ thisを使用する   のオブジェクトコンテキスト   /pb_events.php   6行目

6行目: $ jpp = $ this-> vars-> data [" jpp"];

<*>

どうもありがとう!感謝します!

CONF,

ここにエラーがある場合の部分があります。

  

致命的なエラー:いないときに$ thisを使用する   のオブジェクトコンテキスト   /pb_events.php   6行目

6行目: $ jpp = $ this-&gt; vars-&gt; data [&quot; jpp&quot;];

<*>

どうもありがとう!感謝します!

PAGE,

ここにエラーがある場合の部分があります。

  

致命的なエラー:いないときに$ thisを使用する   のオブジェクトコンテキスト   /pb_events.php   6行目

6行目: $ jpp = $ this-&gt; vars-&gt; data [&quot; jpp&quot;];

<*>

どうもありがとう!感謝します!

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]}");

どうもありがとう!感謝します!

役に立ちましたか?

解決

$ thisは関数ではなくメソッドでのみ意味を持ちます

これで問題ありません

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

これはそうではありません

function some() {
    $this->

//編集:彼が&quot; $ this&quot;をパスしたことに気づかなかったパラメータとして

アドバイス:&quot; $ this&quot;を単に置き換える&quot; $ somethingElse&quot;

他のヒント

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

私のコメント通り。 渡された変数として $ this を使用したいが、phpはクラスメソッド本体の外部でそれを許可しません。

function DoEvents($obj) {

    global 

私のコメント通り。 渡された変数として $ this を使用したいが、phpはクラスメソッド本体の外部でそれを許可しません。

<*>CONF,

私のコメント通り。 渡された変数として $ this を使用したいが、phpはクラスメソッド本体の外部でそれを許可しません。

<*>PAGE,

私のコメント通り。 渡された変数として $ this を使用したいが、phpはクラスメソッド本体の外部でそれを許可しません。

<*>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]}");

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

   $object=new Myobject;
   DoEvents($object);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top