On Tue, 2007-10-09 at 11:41 -0400, Christoph Boget wrote: > > > > Maybe next time you'll have a challenge for me ;) And don't whine about > > how I achieved what I did. > > > Brilliant! I never would have thought of that. ;) It gets easier... here's a quick toolset for completely violating PHP5 objects :) function objectCast( &$object, $class ) { $newObject = 'O:'.strlen( $class ).':"'.$class.'"' .substr( serialize( (object)(array)$object ), 14 ); $newObject = unserialize( $newObject ); $object = $newObject; } function arraySetPrivateField ( &$objectArray, $className, $fieldName, $value ) { $objectArray["\x00$className\x00$fieldName"] = $value; } echo "\n"; $sucker = new TryToViolateEncapsulation(); $sucker = (array)$sucker; print_r( $sucker ); arraySetPrivateField( $sucker, 'TryToViolateEncapsulation', 'someInt', 501 ); objectCast( $sucker, 'TryToViolateEncapsulation' ); print_r( $sucker ); -- ........................................................... SwarmBuy.com - http://www.swarmbuy.com Leveraging the buying power of the masses! ........................................................... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php