php, pass function to method


i was wondering if it was possible to pass functions in a php class method?



function x(){
echo 'here';

$func = 'x';
$example = new Example($func());   <------------ is this possible?

class example{

public function __construct($function){
 if(SmartyValidate::is_valid($_POST)) {
        // call the $function here
       } else {

           $smarty->display('xyz.tpl'); //set method for display

thank you
Who is Participating?
I'm assuming that you're asking whether you can pass functions in PHP, like you can in Javascript; that would be a "no".  You cannot do that.

What you can do, though, is send the function name as a string, and execute it as such:
function x() {


function y($func_name) {


Open in new window

If you need to pass params to that function, just make it the second param, like this:

function x($param) {
    echo "hello world" . $param;

function y($func_name, $params) {

y('x', ' ...goodbye');

Open in new window

function.. class method... pretty much the same exercise

Hope that helps..
additionally, you can look at this function... pretty much the same principle...

PHP Function (call_user_func_array)
MK15Author Commented:
thank you so much
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.