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