0
<?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 2010-11-01 16:47:41
您可以尝试'__CLASS__'。如果您使用PHP> = 5.3,则可以调用'get_called_class'。否则,您可以查看debug_backtrace解决方案:http://stackoverflow.com/questions/506705/php-get-classname-from-static-call-in-extended-class – webbiedave 2010-11-01 16:55:52