Проблема статических классов PHP - PullRequest
0 голосов
/ 01 ноября 2010
<?php

class jokz {
    static public $val='123';
    static public function xxx() {
        jokz2(self);
    }
}

function jokz2($obj) {
    echo $obj::$val;
}

jokz::xxx();
?>

возвращает фатальную ошибку, потому что класс "я" не может быть найден ... так ... как я могу заставить эту работу работать?

передача параметра по ссылке в функции также не работает

function jokz2(&$obj) {
    echo $obj::$val;
}

Ответы [ 2 ]

0 голосов
/ 01 ноября 2010

Нет объектов для передачи (self относится к статическому классу).Вы можете передать имя класса и назвать его таким образом (используя call_user_func ) или создать экземпляр объекта и передать $this

0 голосов
/ 01 ноября 2010

Вы должны использовать $this, чтобы использовать текущий объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...