|
|
|
| Требуется создать обьект, где количество параметров может изменяться.
Т.е что то наподобии call_user_func_array(), но при создание обьекта | |
|
|
|
|
|
|
|
для: WapMorgan
(05.11.2010 в 23:00)
| | что значит создать, что значит параметры могут изменяться?)
вопрос вообще непонятен. | |
|
|
|
|
|
|
|
для: sl1p
(05.11.2010 в 23:11)
| | Пример.
Есть класс index со статическим методом create_obj();
При обращении к методу, передается в качестве первого параметра имя класса, экземпляр которого нужно создать, и в качестве второго - массив параметров, передаваемых при создании экземпляра.
class index
{
static function create_obj($class_name, $args)
{
return new $class_name($args);
}
}
|
Но так передается массив в качестве первого параметра. | |
|
|
|
|
|
|
|
для: WapMorgan
(05.11.2010 в 23:15)
| | ну как вариант, можно сначала создать, а потом повторно вызвать конструктор, кривовато конечно но тоже вариант=)
либо можно извратиться так))
<?
class index
{
static function & create_obj($class_name, $args)
{
$eval = 'new '.$class_name.'('.(implode(',', $args)).')';
return eval($eval);
}
}
|
хотя может копнуть глубже?)
зачем понадобилась такая задача? | |
|
|
|
|
|
|
|
для: sl1p
(05.11.2010 в 23:27)
| | спасибо.
как то сам не додумался =)
пока буду так использовать. | |
|
|
|
|
|
|
|
для: WapMorgan
(05.11.2010 в 23:59)
| | как именно?) | |
|
|
|
|
|
|
|
для: sl1p
(06.11.2010 в 00:05)
| | как вы подсказали | |
|
|
|
|
|
|
|
для: WapMorgan
(06.11.2010 в 00:21)
| | Тут поройтесь.
Особенно тут
Если я правильно понял задачу, это то, что нужно. | |
|
|
|
|
|
|
|
для: Николай2357
(06.11.2010 в 09:23)
| | Большое спасибо!
Читал же главу отражений в книге, да вот подзабыл. | |
|
|
|