Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > как вызвать метод класса?


Автор: 31416 22.10.2007, 07:17
есть допустим класс - myclass
у него есть статичный метод myclass::method
 
гдето в ходе выполнения программы переменная узнает имя класса (изначально имя неизвестно)
 
$var  = "myclass";
 
каким образом теперь запустить method класса myclass?
 
понятно что myclass::method написать нельзя так имя класса неизвестно 

Автор: 31416 22.10.2007, 07:50
 и еще - метод  нужно вызвать с параметрами..

Автор: 31416 22.10.2007, 09:38
отвечу сам:

$class = "myclass";
$m = 'method';
$d= call_user_func(array($class, $m),$p1,$p2);
что эквивалентно
myclass::method($p1,$p2);

Автор: GePo 22.10.2007, 15:16
$class->$m($p1,$p2) ?

Автор: Pokoinik 22.10.2007, 16:55
а как создать объект класса имя которого не известно (записано в переменной)?

Автор: flashaa 22.10.2007, 17:23
Цитата(Pokoinik @  22.10.2007,  16:55 Найти цитируемый пост)
как создать объект класса имя которого не известно (записано в переменной)? 

$class = 'hz';

$hz = new $class();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)