« Return to Thread: Function variables in classes

Re: Function variables in classes

by s.hopfe :: Rate this Message:

Reply to Author | View in Thread

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" <paul.vanharen@...> schrieb im Newsbeitrag
news:35.A3.03551.B24B9274@......

> 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

 « Return to Thread: Function variables in classes