On Sat, 2006-09-23 at 11:46 -0400, Robert Cummings wrote: > On Sat, 2006-09-23 at 16:04 +0100, Marcus Bointon wrote: > > On 23 Sep 2006, at 15:51, Ray Hauge wrote: > > > > > To me it looks like they append the name of the class to any private > > > variables. I would guess that it does this to make sure you know > > > what you're > > > doing and using the private variable like that. I'm just guessing > > > at that > > > point though. > > > > Well, I realised that, but it's not very helpful as there's no > > separator between class name and variable name it's impossible to > > separate it correctly > > <?php > > class MyClass() > { > public $field1 = ''; > private $field2 = ''; > > public function __sleep() > { > return array('field1', 'field2'); > } > } > > $myClass = new Myclass; > $prefix = get_class( $myClass ); > $prefixL = strlen( $prefix ); > > $myArray = (array)$myClass; > foreach( $myArray as $name => $value ) > { > if( substr( $name, 0, 1 ) === '*' ) > { > $foo = &$myArray[$name]; > unset( $myArray[$name] ); > $myArray[substr( $name, 1 )] = &$foo; > } > else > if( ereg( "^$prefix", '', $name ) ) That line should have been: if( ereg( "^$prefix", $name ) ). I was originally doing a replace, but then I scrapped it :) Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php