Неустранимая ошибка: использование $ this, когда не в контексте объекта - PullRequest
7 голосов
/ 29 октября 2009

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

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

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

Ответы [ 4 ]

14 голосов
/ 29 октября 2009

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

это нормально

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

это не

function some() {
    $this->

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

совет: просто замените "$ this" на "$thingElse"

7 голосов
/ 29 октября 2009

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

5 голосов
/ 29 октября 2009

Согласно моим комментариям. Вы хотите использовать $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 голосов
/ 29 октября 2009

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

   $object=new Myobject;
   DoEvents($object);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...