Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вызвать метод класса? если его имя неизвестно... 
:(
    Опции темы
31416
Дата 22.10.2007, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



есть допустим класс - myclass
у него есть статичный метод myclass::method
 
гдето в ходе выполнения программы переменная узнает имя класса (изначально имя неизвестно)
 
$var  = "myclass";
 
каким образом теперь запустить method класса myclass?
 
понятно что myclass::method написать нельзя так имя класса неизвестно 
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
31416
Дата 22.10.2007, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



 и еще - метод  нужно вызвать с параметрами..
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
31416
Дата 22.10.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



отвечу сам:

$class = "myclass";
$m = 'method';
$d= call_user_func(array($class, $m),$p1,$p2);
что эквивалентно
myclass::method($p1,$p2);
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
GePo
Дата 22.10.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 30.3.2003
Где: Москва

Репутация: нет
Всего: 3



$class->$m($p1,$p2) ?
--------------------
PM MAIL WWW   Вверх
Pokoinik
Дата 22.10.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: нет
Всего: 3



а как создать объект класса имя которого не известно (записано в переменной)?


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
flashaa
Дата 22.10.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 1
Всего: 25



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

$class = 'hz';

$hz = new $class();
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0836 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.