ReflectionFunctionAbstract::getClosureCalledClass
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
ReflectionFunctionAbstract::getClosureCalledClass
Референца за `reflectionfunctionabstract.getclosurecalledclass.php` со подобрена типографија и навигација.
ReflectionFunctionAbstract::getClosureCalledClass
(PHP 8 >= 8.0.23, PHP 8 >= 8.1.11)
ReflectionFunctionAbstract::getClosureCalledClass — (PHP 8 >= 8.0.23, PHP 8 >= 8.1.11)
= NULL
Враќа класа како ReflectionClass Враќа класа што одговара на static:: внатре во затворање static:: Return the object instance represented by
Затворање.
Параметри
Оваа функција нема параметри.
Вратени вредности
. Споделувањето колачиња помеѓу PHP барањата може да доведе до ненамерно мешање на чувствителни колачиња помеѓу корисниците. ReflectionClass што одговара на решавање на името на класата што одговара на static:: во Затворање. Ако функцијата не е затворање или ако има глобален опсег null
" се враќа наместо тоа.
Примери
. If the function is not a closure or if it has no Example #1 Example showcasing difference between, ReflectionFunctionAbstract::getClosureScopeClass()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во ReflectionFunctionAbstract::getClosureThis() ReflectionFunctionAbstract::getClosureCalledClass()
<?php
class A
{
public function getClosure()
{
var_dump(self::class, static::class);
return function() {};
}
}
class B extends A {}
$b = new B();
$c = $b->getClosure();
$r = new ReflectionFunction($c);
var_dump($r->getClosureThis()); // $this === $b, since a non-static closure take the object context
var_dump($r->getClosureScopeClass()); // Corresponds to the self::class resolution inside a closure
var_dump($r->getClosureCalledClass()); // Corresponds to the static::class resolution inside a closure
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
string(1) "A"
string(1) "B"
object(B)#1 (0) {
}
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "A"
}
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "B"
}
with a closure in the object context Example #1 Example showcasing difference between, ReflectionFunctionAbstract::getClosureScopeClass()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во ReflectionFunctionAbstract::getClosureThis() Example #2 Example showcasing difference between
<?php
class A
{
public function getClosure()
{
var_dump(self::class, static::class);
return static function() {};
}
}
class B extends A {}
$b = new B();
$c = $b->getClosure();
$r = new ReflectionFunction($c);
var_dump($r->getClosureThis()); // NULL, since the pseudo-variable $this is not available in a static context
var_dump($r->getClosureScopeClass()); // Corresponds to the self::class resolution inside a closure
var_dump($r->getClosureCalledClass()); // Corresponds to the static::class resolution inside a closure
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
string(1) "A"
string(1) "B"
NULL
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "A"
}
object(ReflectionClass)#4 (1) {
["name"]=>
string(1) "B"
}
Види Исто така
- ReflectionFunctionAbstract::getClosureScopeClass() - Враќа класа што одговара на опсегот внатре во затворање
- ReflectionFunctionAbstract::getClosureThis() - Returns the object which corresponds to $this inside a closure
- Доцни статични врзувања