У меня есть кусок кода, который в основном создает экземпляр class < /em> on-fly: < /p>
$class = 'user';
return new $class;
< /code>
Задача состоит в том, что у меня есть аргументы конструктора в формате массива < /em>, и они, очевидно, отличаются от класса к классу, поэтому нет никакого шаблона, что я могу сделать все возможное. Здесь есть некоторые обходные пути, чтобы извлечь эти аргументы из массива и пропустить их так же, как это: < /p>
$args = array( 'one', 'two' );
// some code to generate $arg1, $arg2, etc.
return new $class( $arg1, $arg2 );
< /code>
Однако я действительно предпочитаю делать это умнее. Насколько я вижу, нет никакого способа использовать Call_user_func и Call_user_func_array, если я не забуду о конструкторе < /em> и инициализации его после экземпляра.return magic_func( 'className', array('one', 'two') );
Подробнее здесь: https://stackoverflow.com/questions/220 ... t-the-same