downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

ReflectionMethod::getDeclaringClass> <ReflectionMethod::export
[edit] Last updated: Fri, 14 Jun 2013

view this page in

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosureReturns a dynamically created closure for the method

Description

public Closure ReflectionMethod::getClosure ( string $object )

Warning

This function is currently not documented; only its argument list is available.

Parameters

object

Forbidden for static methods, required for other methods.

Return Values

Returns Closure. Returns NULL in case of an error.



add a note add a note User Contributed Notes ReflectionMethod::getClosure - [1 notes]
up
0
Denis Doronin
5 months 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.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites