dunno about using eval() but this worked - not as elegant as I'd want it,
but it works

class test
{
  function user_func($f, $a, $b) { $z = $this->$f;  return ($z ? $z($a, $b)
: null); }
}
$blah = new test;
$blah->new_func = create_function('$a,$b', 'return $a+$b;');
echo $blah->user_func("new_func", 3, 4);
echo $blah->user_func("none", 3, 4);

HTH
Martin

-----Original Message-----
From: Matthew J Gray [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 22, 2002 4:46 AM
To: [EMAIL PROTECTED]
Subject: [PHP] Re: Creating methods runtime


No there really isn't.  I wrote an extension that does it for me, but
I am waiting to see what the second zend engine will have for this
rather that using my hack.  Maybe check the Zend Engine 2 mailing list
to see what the future may hold.

Matt

Mika Tuupola wrote:
> 
>         Is there a way to create/add methods runtime to a class via
>         constructor or static factory method? I know it is possible
>         to create functions runtime using eval() or create_function()
>         but I havent been able to make them appear as methods for
>         a class.
> 
> --
> Mika Tuupola                      http://www.appelsiini.net/~tuupola/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to