PHP 8.6.0 Beta 1 is available for testing

ReflectionFunction::isAnonymous

(PHP 8 >= 8.2.0)

ReflectionFunction::isAnonymousVerifica si la función es anónima

Descripción

public function ReflectionFunction::isAnonymous(): bool

Verifica si la función es anónima.

Parámetros

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

Valores devueltos

Devuelve true si la función es anónima, de lo contrario false .

Ejemplos

Ejemplo #1 Ejemplo de ReflectionFunction::isAnonymous()

<?php
$rf = new ReflectionFunction(function() {});
var_dump($rf->isAnonymous());
$rf = new ReflectionFunction('strlen');
var_dump($rf->isAnonymous());
?>

El ejemplo anterior mostrará:

bool(true)
bool(false)

Véase también

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 2 notes

up
3
nicolasgrekas at php dot net
3 years ago
Closures can be either anonymous or not.
Here is an anonymous closure:
$c1 = function () {};
And here is a *non* anonymous closure:
$c2 = Closure::fromCallable(['Foo', 'bar']);
ReflectionFunction::isAnonymous() returns true for $c1 and false for $c2.
Before PHP 8.2, one had to do this check to decide between both:
$r = new \ReflectionFunction($c1);
$isAnonymous = false !== strpos($r->name, '{closure}');
ReflectionFunction::isAnonymous() makes it easier to check.
up
-1
Taufik Nurrohman
3 years ago
You know that anonymous function is just an instance of class `Closure` so this would be equivalent to check whether a variable is an anonymous function or not:
<?php
$test = function () {};
if (is_callable($test) && is_object($test) && $test instanceof Closure) { /* ... */ }
?>
+add a note

AltStyle によって変換されたページ (->オリジナル) /