ReflectionClass::newInstanceArgs
(PHP 5 >= 5.1.3, PHP 7, PHP 8)
ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments
Description
public function ReflectionClass::newInstanceArgs(
array $args = []):
?object
Parameters
args
-
The parameters to be passed to the class constructor as an array.
If the keys of args are all numeric, the keys are
ignored and each element is passed to the constructor as a positional
argument, in order.
If any keys of args are strings, those elements are
passed to the constructor as named arguments, with the name given by the
key.
An Error is thrown if a numeric key in
args appears after a string key, or if a string key
does not match the name of any constructor parameter.
Return Values
Returns a new instance of the class, or null on failure.
Errors/Exceptions
A ReflectionException if the class constructor is not public.
A ReflectionException if the class does not have a constructor
and the args parameter contains one or more parameters.
Examples
Example #1 Basic usage of ReflectionClass::newInstanceArgs()
<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>
The above example will output:
object(ReflectionFunction)#2 (1) {
["name"]=>
string(6) "substr"
}