Неустранимая ошибка: использование $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]}");
Спасибо большое! оценить!
Ответы
Ответ 1
$это имеет смысл только в методах, а не в функциях
это нормально
class Foo {
function bar() {
$this->...
это не
function some() {
$this->
//edit: не заметил, что он передает "$ this" в качестве параметра
совет: просто замените "$ this" на "$ somethingElse"
Ответ 2
Вы не можете передать $this
процедурной функции. $this
- зарезервированная переменная.
Ответ 3
Согласно моим комментариям.
Вы хотите использовать $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]}");
Ответ 4
Сначала вы должны сделать объект.
$object=new Myobject;
DoEvents($object);