Dynamic Function Calling in PHP

Why php is more flexible ? See this function example:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Class Record
{
public function getMessage()
{
return "Hello world";
}
}
//You can call this function like this:
$function = "getMessage";
$R = new Record;
call_user_func( array($R, $function ) );

If you want to pass some argument , you can use rest of the parameters of call-user_function;

eg: call_user_func( array($R, $function ) , $param, $param2);

For more info: http://www.php.net/call_user_func

3 Comments ,

3 Responses to “Dynamic Function Calling in PHP”

  1. Tom September 4, 2008 at 8:47 pm #

    You can also do
    $R->$function($param, $param2);

  2. Thankz for the information. Its too simple by comparing with PHP.net site. But anyhow its worthy for few coders like me.

  3. Igor Carrasco January 16, 2010 at 12:30 am #

    Thanks, this was useful.
    You have a mistake in you link “For more info”, pattern=call_user_fun and it needs to be pattern=call_user_func.

Leave a Reply

More in php (76 of 104 articles)


If you are a symfony programmer, just read this. Otherwise you can skip this topic. We all know that one ...