使用PHP从变量参数调用构造函数

zne*_*eak 12 php constructor callback

我有一个函数,它接受可变参数,我从中获取func_get_args().

此函数需要使用这些参数调用构造函数.但是,我不知道该怎么做.

使用call_user_func,您可以使用参数数组调用函数,但是如何从中调用构造函数?我不能只是将参数数组传递给它; 它必须相信我称之为"正常".

谢谢!

Dec*_*ler 20

对于PHP <5.3,如果没有先创建类的实例,它就不容易实现call_user_func_array.然而,Reflection这非常简单:

$reflection = new ReflectionClass( 'yourClassName' );
$instance = $reflection->newInstanceArgs( $yourArrayOfConstructorArguments );
Run Code Online (Sandbox Code Playgroud)

  • @zneak,`ReflectionClass :: newInstanceArgs`在PHP 5.3中并不是新的,我们自2006年发布PHP 5.1.3以来就已经有了它.@byronh,有什么特别的东西,你发现没有得到很好的解释,或者你指的是标记为"无证件"的部分?(请随时给我发电子邮件,salathe @ php.com) (5认同)