Dynamic Function Calling in PHP

Why php is more flexible ? See this function example:

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 (73 of 101 articles)


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