Hi!
I had a little discussion on a forum topic about static class method and properties. Somebody there pointed to the PEAR::getStaticProperty() solution to emulate static properties in PHP4. I was not familiar with it but its approach seems a little strange for me. It is not really more than storing static properties in a global array. I tried to make something better and come out with this solutions, which I think is much more closer to the philosophy of a static property and maybe is more elegant (of course this is subjective :)). I'm curious about your opinion. Regards, Felhő ------------------------------------------------------------------------- <?php class base { function &staticProperty($name, $value = null) { static $properties = array(); if (func_num_args() == 2) { $properties[$name] = $value; return $properties[$name]; } else { if (array_key_exists($name, $properties)) { return $properties[$name]; } else { $php4_4suck = null; return $php4_4suck; } } } } class foo extends base { } class bar extends base { } foo::staticProperty('foo', 'foo'); var_dump(bar::staticProperty('foo')); // NULL bar::staticProperty('foo', 'bar'); var_dump(bar::staticProperty('foo')); // "bar" $foo = new foo(); var_dump($foo->staticProperty('foo')); // "foo" $bar = new bar(); var_dump($bar->staticProperty('foo')); // "bar" $fooStaticProp =& foo::staticProperty('foo'); $fooStaticProp = 'fooChanged'; var_dump($foo->staticProperty('foo')); // "fooChanged" ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php