ReflectionAttribute::newInstance

(PHP 8)

ReflectionAttribute::newInstance — Instancia la clase del atributo representada por esta clase ReflectionAttribute y sus argumentos

Descripción

public function ReflectionAttribute::newInstance(): object

Instancia la clase del atributo representada por esta clase ReflectionAttribute y sus argumentos

Parámetros

Esta función no contiene ningún parámetro.

Valores devueltos

La nueva instancia del atributo.

Errores/Excepciones

Lanza un Error si el atributo se aplica a un objetivo en el que no puede utilizarse. En el caso de los atributos internos, esto ocurre aquí en lugar de en tiempo de compilación cuando la declaración utiliza #[\DelayedTargetValidation].

Historial de cambios

Versión Descripción
8.5.0 Ahora lanza un Error para un atributo interno aplicado a un objetivo no válido cuando la validación del objetivo se ha retrasado con #[\DelayedTargetValidation].
+add a note

User Contributed Notes 1 note

up
-1
baptiste at pillot dot fr
3 years ago
Calling ReflectionAttribute::newInstance() using an attribute name that does not have a corresponding class will result in an error.

Example :

<?php
#[FakeAttribute]
class Test {}

try {
  (new ReflectionClass(Test::class))->getAttributes()[0]->newInstance();
}
catch (Error $error) {
  echo 'Throwed error ' . get_class($error) . ' with message : ' . $error->getMessage();
}
?>

This will output :

Throwed error Error with message : Attribute class "FakeAttribute" not found