* Francisco M. Marzoa Alonso <[EMAIL PROTECTED]>:
> I've seen that's possible to add members to objects dinamically, in example:
>
> class MyClass {
> private $a;
> }
>
> $MyObject = new MyClass ();
> $MyObject->b = 1;
>
> Now $MyObject has a public member called 'b' that has a value of '1'.
>
> The question is, is it possible to add methods in the same way?
>
> I meant something such as:
>
> function sum ( $this ) {
> return $this->a+$this->b;
> }
>
> $MyObject->sum = sum;
No. There are some things you can look into, however. PHP4 has an
overload() function (and PHP5 has it built in) -- you could then add a
__call() method that checks to see if a function is defined, and if so,
calls it.
class MyClass
{
var $a;
// Note: you'd call this differently in PHP5
function __call($function, $arguments, &$return)
{
if (function_exists($function)) {
$function($arguments);
}
}
}
overload('MyClass'); // This line unncessary in PHP5
The other possibility is to look into the classkit extension
(http://php.net/classkit); this would require being able to install PHP
extensions (not a problem if it's your own box).
--
Matthew Weier O'Phinney | mailto:[EMAIL PROTECTED]
Webmaster and IT Specialist | http://www.garden.org
National Gardening Association | http://www.kidsgardening.com
802-863-5251 x156 | http://nationalgardenmonth.org
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php