Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用任意参数调用任意构造函数_Php_Function - Fatal编程技术网

Php 使用任意参数调用任意构造函数

Php 使用任意参数调用任意构造函数,php,function,Php,Function,给定类的名称为$class,以及要传递给构造函数的参数数组$args,我可以实际创建$class的新实例吗 可以使用else if链(最多支持最大数量的参数)和eval,但两者都不是干净的。我要找的东西最好只有一两行。你可以用它来做 $myClass = "NameOfClass"; //Name of class as string $reflection = new \ReflectionClass($myClass); $params = array(1,2); //it can be

给定类的名称为$class,以及要传递给构造函数的参数数组$args,我可以实际创建$class的新实例吗

可以使用else if链(最多支持最大数量的参数)和eval,但两者都不是干净的。我要找的东西最好只有一两行。

你可以用它来做

$myClass = "NameOfClass"; //Name of class as string 
$reflection = new \ReflectionClass($myClass); 
$params = array(1,2); //it can be a dynamic array of parameters
$myObject = $reflection->newInstanceArgs($params); 
您可以使用。你特别想要的方法是


这并不是用任意参数调用构造函数,而是用none.oh调用它。更正了包含类构造函数的动态参数的答案。这没有意义。为什么没有?有什么问题吗?你修好后就没事了。杰克:我同意。另一方面,这个问题比那个问题有更详细的答案。
$class = 'YourClass';
$args = array ('a', 'b');

$reflection = new \ReflectionClass($class); 
$classInstance = $reflection->newInstanceArgs($args);