This will not work.
$this->bla();
This is a PHP Syntax and tries to get the Class method, PHP dont look for a
variable name at all!
It seams me strange also, that you try this, you should create the method for
the class itself, or extend it.
But this shoul work:
class Test {
function Test () {
$funcName = 'writeFoo';
$$funcName = create_function ('', 'echo ("foo.\n");');
$writeFoo ();
$writeFoo2 = $writeFoo;
$writeFoo2 ();
$this->writeFoo = $writeFoo;
return call_user_func($this->writeFoo, 'arg1, arg2');
}
}
on Wednesday 20 September 2006 15:07, Kelsang Tsenle wrote:
> Hi all,
>
> I tried to add functions to a class, but it doesn't seem to work. Here's
> an example:
>
> <?
> class Test {
>
> function Test () {
> $funcName = 'writeFoo';
> $$funcName = create_function ('', 'echo ("foo.\n");');
> $writeFoo ();
> $writeFoo2 = $writeFoo;
> $writeFoo2 ();
> $this->writeFoo = $writeFoo;
> $this->writeFoo ();
> }
> }
>
> $test = new Test ();
> ?>
>
> This outputs:
> foo.
> foo.
> PHP Fatal error: Call to undefined method Test::writeFoo() in
> ..../test.php on line 11
>
>
> Both $writeFoo () and $writeFoo2 () are executed, so it principally
> works, but once used in the object, it doesn't work anymore.
>
>
> Any idea how that is supposed to work?
>
>
> Gratefully,
> Tsenle
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php