PHP 5.6.0beta1 released

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosureDevuelve una función anónima de este método creada dinámicamente

Descripción

public Closure ReflectionMethod::getClosure ( string $object )

Advertencia

Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

Parámetros

object

No permitido en métodos estáticos. Obligatorio para el resto de métodos.

Valores devueltos

Devuelve un Closure (función anónima). En caso de error, devuelve NULL.

add a note add a note

User Contributed Notes 1 note

up
1
Denis Doronin
1 year ago
You can call private methods with getClosure():

<?php

function call_private_method($object, $method, $args = array()) {
   
$reflection = new ReflectionClass(get_class($object));
   
$closure = $reflection->getMethod($method)->getClosure($object);
    return
call_user_func_array($closure, $args);
}

class
Example {

    private
$x = 1, $y = 10;

    private function
sum() {
        print
$this->x + $this->y;
    }

}

call_private_method(new Example(), 'sum');

?>

Output is 11.
To Top