Неустранимая ошибка: использование $ this, если не в объектном контексте

вот часть, если есть ошибка.

Неустранимая ошибка: использование $ this, если не в контексте объекта в /pb_events.php в строке 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]}"); 

Большое спасибо! оценить!

Related of "Неустранимая ошибка: использование $ this, если не в объектном контексте"

$ это имеет смысл только в методах, а не в функциях

хорошо

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

это не

 function some() { $this-> 

// edit: не заметил, что он передает «$ this» в качестве параметра

совет: просто замените «$ this» на «$ somethingElse»

Вы не можете передать $this процедурной функции. $this зарезервированная переменная.

Согласно моим комментариям. Вы хотите использовать $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]}"); 

Сначала вы должны сделать объект.

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