PHP 7.0.6 Released

ReflectionFunction::invoke

(PHP 5, PHP 7)

ReflectionFunction::invokeInvokes function

Description

public mixed ReflectionFunction::invoke ([ mixed $parameter [, mixed $... ]] )

Invokes a reflected function.

Parameters

args

The passed in argument list. It accepts a variable number of arguments which are passed to the function much like call_user_func() is.

Return Values

Returns the result of the invoked function call.

Examples

Example #1 ReflectionFunction::invoke() example

<?php
function title($title$name)
{
    return 
sprintf("%s. %s\r\n"$title$name);
}

$function = new ReflectionFunction('title');

echo 
$function->invoke('Dr''Phil');
?>

The above example will output:

Dr. Phil

Notes

Note:

If the function has arguments that need to be references, then they must be references in the passed argument list.

See Also

User Contributed Notes

spark at limao dot com dot br
4 years ago
I know Reflections classes have a lot of power, but sometimes all we need is to store a annonymus function or even create a simple callback somewhere.

so here it is, the Callback class:
<?php
   
class Callback{
        private
$name = false;
       
        public function
Callback($obj,$call=false){
           
$name = array($obj);
            if(
$call) $name[] = $call;
           
           
$this->name = $name;
        }
        public function
invoke($params=array()){
            return
call_user_func_array($this->name,$params);
        }
    }
?>

Usage:
<?php
   
function sayName(){
        return
"goku";
    }
   
   
$myVar = new Callback("sayName");
   
    echo
"Hi, I am ".$myVar->invoke()."!";
   
   
//also works with methods: new Callback($obj,"method");
?>
To Top