Я с трудом понять, почему я получаю Unexpected T_PAAMAYIM_NEKUDOTAYIM
ошибку в следующем коде, который, кажется perfecly действует до меня ...Неожиданное T_PAAMAYIM_NEKUDOTAYIM в PHP 5.2.x
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, и он работает без ошибок , –
@ Крис: Какую версию PHP вы используете? Также проверьте эту ссылку: http://codepad.org/wpT0g3VH. –
Извините, неверно истолковал ваш вопрос. Добавлено ответ ниже. –