It seems to be a PHP Bug, because normaly it should very well.

but you can solve this problem, by a workarround.

using "eval($a."();");" instead of "$a();" in the class.

Best regards
Sebastian


"Paul van Haren" <[EMAIL PROTECTED]> schrieb im Newsbeitrag news:[EMAIL PROTECTED]
Hi there,

I'm trying to execute function variables. This works fine outside class
code, but gives a fatal error when run within a class. The demo code is
here:

<?php

function bar1 () {
    echo "Yep, in bar1() right now\n";
}

function foo1 () {
    bar1();

    $a = "bar1";
    print_r ($a); echo "\n";
    $a();
}

class foobar {
    function bar2 () {
        echo "Yep, in bar2() right now\n";
    }

    public function foo2 () {
        foobar::bar2();

        $a = "foobar::bar2";
        print_r ($a); echo "\n";
        $a();
    }
}

foo1();


$fb = new foobar ();
$fb->foo2();
?>

The error message reads:
Fatal error: Call to undefined function
foobar::bar2() in /home/paul/demo/demo.php on line 25

Is there anyone out there who can explain what's wrong in this code?

Thanks, Paul

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to