http://ca3.php.net/manual/en/function.call-user-func.php ?
Jason On Thu, 29 Jul 2004 17:11:50 -0500, Julio Sergio Santana <[EMAIL PROTECTED]> wrote: > I need to record the names of functions, and then use them later. > Recently I found the following example within the on-line documentation: > <?php > function foo() { > echo "In foo()<br />\n"; > } > > $func = 'foo'; > $func(); // This calls foo() > > ?> > > then I supposed that it was easy to extend this concept to objects and > wrote the following case: > > <?php > > function foo() { > echo "In foo()<br />\n"; > } > > class a { > var $fname; > function a() { > $this->fname = 'foo'; // the name of the function > } > > function execute() { // method to execute the named function > $this->fname(); > // I also tried here > // {$this->fname}(); > // ${this->fname}(); > // "$this->fname"(); > // but none of these worked > } > } > > $w = new a; > $w->execute(); > > ?> > > And this was the error I got: > > X-Powered-By: PHP/4.1.2 > Content-type: text/html > > <br> > <b>Fatal error</b>: Call to undefined function: fname() in <b>-</b> on > line <b>14</b><br> > > I know that this can be solved easily with an intermediate variable: > > $temp = $this->fname; > $temp(); > > but I wonder if there is a more direct method. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php