Re: Function variables in classes
On Nov 1, 7:10 am, paul.vanha...@zonnet.nl (Paul van Haren) wrote:
> 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
bar2() is an /instance/ method -- not a /class/ method. You should
call it as such.
You want this:
$a = "bar2";
$this->$a();
|