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, 24 May 2013

view this page in

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosureRetourne une fermeture créée dynamiquement pour la méthode

Description

public Closure ReflectionMethod::getClosure ( string $object )

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

object

Interdit pour les méthodes statiques, requis pour les autres méthodes.

Valeurs de retour

Retourne un objet Closure. Retourne NULL si une erreur survient.



add a note add a note User Contributed Notes ReflectionMethod::getClosure - [1 notes]
up
0
Denis Doronin
4 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 | sitemap | contact | advertising | mirror sites