ReflectionClass::newInstanceArgs
PHP Manual
PHP Manual»ReflectionClass»ReflectionClass::newInstanceArgs

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionClass::newInstanceArgs — Crear una nueva instancia utilizando los argumentos proporcionados

Descripción

public function ReflectionClass::newInstanceArgs(array $args = []): ?object

Crear una nueva instancia de la clase utilizando los argumentos proporcionados para pasarlos al constructor.

Parámetros

args

Los 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.

Valores devueltos

Devuelve una nueva instancia de la clase, o null en caso de error.

Errores/Excepciones

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.

Historial de cambios

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.

Ejemplos

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"
}

Véase también

To Top