ReflectionFunctionAbstract::getClosureCalledClass
Renvoie la classe correspondant à static:: à l'intérieur d'une fermeture
&reftitle.description;
public ReflectionClassnullReflectionFunctionAbstract::getClosureCalledClass
Renvoie la classe en tant que ReflectionClass qui
correspond à la résolution du nom de la classe correspondant à static:: à l'intérieur de la
Closure.
&reftitle.parameters;
&no.function.parameters;
&reftitle.returnvalues;
Renvoie une ReflectionClass correspondant à la classe
représentée par static:: dans la Closure.
Si la fonction n'est pas une fermeture ou si elle a une portée globale, &null;
est renvoyé à la place.
&reftitle.examples;
Exemple illustrant la différence entre
ReflectionFunctionAbstract::getClosureCalledClass,
ReflectionFunctionAbstract::getClosureScopeClass,
et ReflectionFunctionAbstract::getClosureThis
avec une fermeture dans le contexte de l'objet
getClosure();
$r = new ReflectionFunction($c);
var_dump($r->getClosureThis()); // $this === $b, car une fermeture non statique prend le contexte de l'objet
var_dump($r->getClosureScopeClass()); // Correspond à la résolution de self::class à l'intérieur d'une fermeture
var_dump($r->getClosureCalledClass()); // Correspond à la résolution de static::class à l'intérieur d'une fermeture
?>
]]>
&example.outputs;
string(1) "A"
}
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "B"
}
]]>
Exemple illustrant la différence entre
ReflectionFunctionAbstract::getClosureCalledClass,
ReflectionFunctionAbstract::getClosureScopeClass,
et ReflectionFunctionAbstract::getClosureThis
avec une fermeture statique sans contexte d'objet
getClosure();
$r = new ReflectionFunction($c);
var_dump($r->getClosureThis()); // NULL, car la pseudo-variable $this n'est pas disponible dans un contexte statique
var_dump($r->getClosureScopeClass()); // Correspond à la résolution de self::class à l'intérieur d'une fermeture
var_dump($r->getClosureCalledClass()); // Correspond à la résolution de static::class à l'intérieur d'une fermeture
?>
]]>
&example.outputs;
string(1) "A"
}
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "B"
}
]]>
&reftitle.seealso;
ReflectionFunctionAbstract::getClosureScopeClass
ReflectionFunctionAbstract::getClosureThis