(PHP 5 >= 5.1.3, PHP 7, PHP 8)
ReflectionClass::newInstanceArgs — Crear una nueva instancia utilizando los argumentos proporcionados
Crear una nueva instancia de la clase utilizando los argumentos proporcionados para pasarlos al constructor.
argsLos parámetros a pasar al constructor de la clase, como un array.
Si todas las claves de args son numéricas, estas se ignoran
y cada elemento se pasa al constructor como argumento posicional, en orden.
Si alguna de las claves de args es una cadena, esos elementos
se pasan al constructor como argumentos con nombre, usando la clave como nombre.
Se lanza un Error si una clave numérica en
args aparece después de una clave de cadena, o si una clave
de cadena no coincide con el nombre de ningún parámetro del constructor.
Devuelve una nueva instancia de la clase, o null en caso de error.
Una ReflectionException si el constructor no es público.
Una ReflectionException si la clase no tiene constructor
y el parámetro args contiene al menos un dato.
| Versión | Descripción |
|---|---|
| 8.0.0 |
Las claves de args ahora se interpretan como nombres de parámetro,
en lugar de ser ignoradas silenciosamente.
|
Ejemplo #1 Uso básico de ReflectionClass::newInstanceArgs()
<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>El ejemplo anterior mostrará:
object(ReflectionFunction)#2 (1) {
["name"]=>
string(6) "substr"
}