Я хочу создать объект класса и передать его параметры в виде массива.
Например:
$array = array ( 'param1' => 123, 'param1' => 456, 'param2' => 789 );
, который должен быть преобразован в список настроек массива и передан вконструктор:
$a = new A();
С помощью call_user_func_array http://php.net/call_user_func_array
<?php class A { public function __construct ( ) { print_r ( func_get_args ( ) ) ; } } $A = new A(); $params = array ( 'param' => 'value' , 'p1' => 'val' ) ; call_user_func_array ( array ( $A , '__construct' ) , $params ) ;
<?php class A { public function __construct( $var=array() ) { print_r( $var ); } } $a=new A( array( 'foo','bar','baz' ) ); ?>
Вы можете использовать отражение
<?php class A { public function __construct ( ) { print_r ( func_get_args ( ) ) ; } } $reflection = new ReflectionClass('A'); $reflection->newInstanceArgs(array( 'a' , 'b' )) ;