Yeah, because it used to work.

Andi

At 01:19 PM 1/21/2004 +0200, Jani Taskinen wrote:

    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



Reply via email to