Насколько я знаю, создание экземпляров класса с использованием переменной new $className(); точно поддерживается в 5.3, однако я не уверен насчет версии 5.2 и не могу проверить, нормально ли это работает на 5.2.
new $className();
Может кто-нибудь сказать, какие версии поддерживаются?
Это не относится к PHP5. Это будет работать и в PHP4.
См. http://php.net/manual/en/keyword.class.php#99638
проверено в 5.2.4-2 и работает нормально:)
редактировать ---
В PHP 5.2 вы не можете сделать $className::method(), вы получите знаменитый
$className::method()
unexpected T_PAAMAYIM_NEKUDOTAYIM
но вы можете сделать new $className();
В руководстве написано, что введено в 5.3.0
http://us3.php.net/manual/en/language.oop5.basic.php