At 09:47 08.04.2002, you wrote: >Andrei Zmievski wrote: > > Please expound on this. I would like to hear specific > > problems you see existing with __get_x() callbacks. > >As of now, this is just an unspecified bad feeling of mine. >I only can back up this with the two times we had special names >which were variable in PHP: Both attempts at them failed >horribly: > >- We had (have, until ZE 2, if I am not mistaken) variable > named constructors (ctors named after the class). These >had a number of design flaws in PHP 3, which were fixed in >PHP 4, at the cost of an overly complex ruleset for >constructor names. > >Had we chosen stable names for constructors, we'd gotten the >same effect with a single rule for ctor names. > >- We had (until very recently) variable names for imported > variables amidst our global namespace. We earned a number >of security problems due to admittedly stupid code, which >swayed the PTBs to finally disable registering globals by >default. > >I cannot come up with a bomb script right now, but I am >reasonably sure that __get_x() will backfire at some time >as well. > >Kristian
What if we would use declared properties? <property> := property <name> = { <access_specifiers> }; <access_specifiers> := <access_specifier> [, <access_specifiers>] <access_specifier> := <read_access> | <write_access> <read_access> := read = <method_name> | <member_name> <write_access> := write = <method_name> | <member_name> class A { private var $_X; protected function set_X($newX) { $this->_X = $newX; } public property X = { read = $_X, write = set_X}; } marcus -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php