ReflectionClass::newInstanceArgs
(PHP 5 >= 5.1.3, PHP 7, PHP 8)
Creates a new class instance from given arguments
Description
Creates a new instance of the class, the given arguments are passed to the class constructor.
Parameters
argsThe parameters to be passed to the class constructor as an
array.If the keys of
argsare all numeric, the keys are ignored and each element is passed to the constructor as a positional argument, in order.If any keys of
argsare strings, those elements are passed to the constructor as named arguments, with the name given by the key.An
Erroris thrown if a numeric key inargsappears 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.
Changelog
| Version | Description |
|---|---|
| 8.0.0 | args keys will now be interpreted as parameter names, instead of being silently ignored. |
Examples
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"
}See Also
ReflectionClass::newInstanceReflectionClass::newInstanceWithoutConstructor