<?php
class jokz {
static public $val='123';
static public function xxx() {
jokz2(self);
}
}
function jokz2($obj) {
echo $obj::$val;
}
jokz::xxx();
?>
он возвращает фатальную ошибку, потому что класс «я» не найден ... так .. как я могу сделать эту работу?Проблема статических классов PHP
передачи параметра по ссылке в функции также не работают
function jokz2(&$obj) {
echo $obj::$val;
}
нет других способов? основная цель этого кода заключается в том, что имя класса не должно передаваться как статическая строка, это как функция xxx, не знает имя класса – jokz
Вы можете попробовать '__CLASS__'. Если вы используете PHP> = 5.3, вы можете вызвать 'get_called_class'. В противном случае вы можете найти решения debug_backtrace: http://stackoverflow.com/questions/506705/php-get-classname-from-static-call-in-extended-class – webbiedave