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