Why not simply make the cast not work? Can you think of any BC problem with that? :) --Jani
On Wed, 21 Jan 2004, Andi Gutmans wrote: >In general, I think casting an object to an array sucks. >I would be all for an E_STRICT message that this is deprecated as we have >"real" objects now and IMO, and that the behavior might change/go away >sometime in the future. > >Andi > >At 05:07 PM 1/17/2004 +0100, Andrey Hristov wrote: >>Pierre-Alain Joye wrote: >>>On Sat, 17 Jan 2004 16:44:29 +0100 >>>Andrey Hristov <[EMAIL PROTECTED]> wrote: >>> >>>>IMO, when casting to array with (array) only the public-ly visible >>>>members should returned. >>> >>>Dunno, E_STRICT (as you can access them without notice/warning without >>>this flag)? >>>In the same manner: >>><?php >>>error_reporting(E_STRICT); >>>class some { >>> public $pub = 1; >>> protected $prot = 2; >>> private $priv = 3; >>>} >>>class any extends some { >>> public $pub1 = 1; >>> function dump() { >>> var_dump($this); >>> } >>>} >>>var_dump((array)new any()); >>>$a = new any; >>>$a->dump(); >>>?> >>>a var_dump should dump protected props from the parent class as they are >>>visible. Note the "funny" thing is that var_dump() alone do not display >>>the public|protected props, whatever is the context call. IMHO, that >>>sounds not very consistent, but only imho... >>Yes, it does not. Use print_r() for dumping. print_r() uses internal zend >>function to dump the variable content while var_dump() is defined in >>ext/standard/var.c and knows nothing >>about protected and private functions (or at least it was that 2 months ago). >>print_r() has the expected behavior of dumping data, but casting to array >>and getting protected/private data is nasty. >> >> >>Andrey >> >>-- >>PHP Internals - PHP Runtime Development Mailing List >>To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php