У меня возникла проблема с использованием переменной в качестве имени класса при вызове статической функции внутри класса. Мой код выглядит следующим образом:PHP: имя переменной как экземпляр класса
class test {
static function getInstance() {
return new test();
}
}
$className = "test";
$test = $className::getInstance();
Ive получил, чтобы определить имя класса переменной в качестве имени класса поступает из базы данных, так что я никогда не знаю, какой класс, чтобы создать экземпляр.
Примечание: В настоящее время я получаю следующее сообщение об ошибке:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
Благодаря
Как ни странно, ваш код работает для меня в PHP 5.3.1 и не вызывает ошибку. –
переменные статические классы доступны в PHP 5.3+, для чего-то ниже требуется call_user_func()/call_user_func_array(), как указано @hobodave – Owen