#1 2010.11.12 20:36

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Классы/обьекты

Требуется вызвать конструктор базового класса, из производного с переменным количеством аргументов.
пляски с call_user_(method|func)_array не помогли.


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#2 2010.11.12 20:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Классы/обьекты

эм, parent::__construct();

Неактивен

#3 2010.11.13 08:36

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Классы/обьекты

С переменным количеством аргументов


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#4 2010.11.13 08:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Классы/обьекты

есть возможность подсчитать количество аргументов? если да, то просто через switch

Неактивен

#5 2010.11.13 14:40

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Классы/обьекты

так что ли?

Код:

1
2
3
4
5
6
7
8
$args = func_get_args();
 
switch(count($args))
{
case 1: parent::__construct($args[0]); break;
case 2: parent::__construct($args[0], $args[1]); break;
// etc...
}

как сказал один умный человек, ни к селу ни к городу.


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#6 2010.11.14 13:57

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Классы/обьекты

ну, в общем именно так) у тебя же все равно не будет методов на непредвиденное кол-во аргументов. так что с помощью swith мы сможем заранее кинуть исключение.
а что с call_user_func_array не так-то?

Неактивен

#7 2010.11.14 16:21

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Классы/обьекты

Код:

1
2
3
4
call_user_func_array(....
array('parent', '__construct')
'parent::__construct'
);

не катит


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#8 2010.11.14 18:08

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Классы/обьекты

Да, почитал сейчас подробнее про call_user_func_array. В конструктор параметры не передать.

Неактивен

#9 2010.11.14 21:14

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Классы/обьекты

надобность отпала.


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#10 2010.11.16 22:05

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Классы/обьекты

надобность появилась big_smile


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s