【发布时间】:2011-06-27 02:27:42
【问题描述】:
我很难理解为什么我在以下代码中收到 Unexpected T_PAAMAYIM_NEKUDOTAYIM 错误,这对我来说似乎完全有效...
class xpto
{
public static $id = null;
public function __construct()
{
}
public static function getMyID()
{
return self::$id;
}
}
function instance($xpto = null)
{
static $result = null;
if (is_null($result) === true)
{
$result = new xpto();
}
if (is_object($result) === true)
{
$result::$id = strval($xpto);
}
return $result;
}
PHP 5.3+ 中的输出:
echo var_dump(instance()->getMyID()) . "\n"; // null
echo var_dump(instance('dev')->getMyID()) . "\n"; // dev
echo var_dump(instance('prod')->getMyID()) . "\n"; // prod
echo var_dump(instance()->getMyID()) . "\n"; // null
在prior versions 但是,我不能在$result::$id = strval($xpto); 做,有人知道为什么吗?
这个问题有解决办法吗?
【问题讨论】:
-
我将您的代码复制/粘贴到一个 php 文件中,它运行时没有错误。
-
@Chris:你使用的是什么 PHP 版本?另外,请查看此链接:codepad.org/wpT0g3VH。
-
抱歉,误解了您的问题。在下面发布答案。