PHP.mk документација

ReflectionMethod::invoke

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

reflectionmethod.invoke.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека reflectionmethod.invoke.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ReflectionMethod::invoke

Референца за `reflectionmethod.invoke.php` со подобрена типографија и навигација.

reflectionmethod.invoke.php

ReflectionMethod::invoke

класата mysqli_driver

ReflectionMethod::invokeInvoke

= NULL

public ReflectionMethod::invoke(?object $object, mixed ...$args): mixed

Invokes a reflected method.

Параметри

object

The object to invoke the method on. For static methods, pass null на овој параметар.

args

Zero or more parameters to be passed to the method. It accepts a variable number of parameters which are passed to the method.

Вратени вредности

Враќа резултат од методот.

Errors/Exceptions

А ReflectionException ако object параметарот не содржи инстанца на класата во која е деклариран овој метод.

А ReflectionException ако повикувањето на методот не успеа.

Примери

Пример #1 ReflectionMethod::invoke() example

<?php
class HelloWorld {

public function
sayHelloTo($name) {
return
'Hello ' . $name;
}

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo
$reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

Hello Mike

Белешки

Забелешка:

ReflectionMethod::invoke() cannot be used when reference parameters are expected. ReflectionMethod::invokeArgs() has to be used instead (passing references in the argument list).

Види Исто така

Белешки од корисници 3 белешки

rojaro на gmail точка com
пред 15 години
Note: If you want to invoke protected or private methods, you'll first have to make them accessible using the setAccessible() method (see http://php.net/reflectionmethod.setaccessible ).
dimitriy at remerov dot ru
пред 13 години
This method can be used to call a overwritten public method of a parent class on an child instance
The following code will output "A":

<?php

class A
{
    public function foo()
    {
        return __CLASS__;
    }
}

class B extends A
{
    public function foo()
    {
        return __CLASS__;
    }
}

$b = new B();

$reflection = new ReflectionObject($b);

$parentReflection = $reflection->getParentClass();

$parentFooReflection = $parentReflection->getMethod('foo');

$data = $parentFooReflection->invoke($b);

echo $data;

?>
templargrey at wp dot pl
пред 14 години
Seems that Reflection doesn`t resolve late static bindings - var_dump will show "string 'a' (length=1)".

<?php
class ParentClass { protected static $a = 'a'; static public function init() { return static::$a; } }
class ChildClass extends ParentClass { protected static $a = 'b'; }
    
$r = new ReflectionClass('ChildClass');
var_dump($r->getMethod('init')->invoke(null));
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.