Re: Re: 5dee3c11 break
| From: | Dmitry Stogov | Date: | Tue, 06 May 2014 14:57:38 +0000 |
| Subject: | Re: Re: 5dee3c11 break | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-73980@lists.php.net to get a copy of this message | ||
On Tue, May 6, 2014 at 6:50 PM, Levi Morrison <morrison.levi@gmail.com>wrote:
>
> On Tue, May 6, 2014 at 8:46 AM, Dmitry Stogov <dmitry@zend.com> wrote:
>>
>> On Tue, May 6, 2014 at 5:11 PM, Levi Morrison <levim@php.net> wrote:
>>
>>> On Tue, May 6, 2014 at 6:43 AM, Dmitry Stogov <dmitry@zend.com> wrote:
>>>
>>>> zend_std_has_dimension() doesn't know what (check_empty == 2) means.
>>>>
>>>> check_empty == 0 - ISSET => we don't need to call offsetGet() and relay
>>>> on
>>>> offsetExists() return value.
>>>> check_empty == 1 - ISEMPTY => we should call offsetGet() after
>>>> offsetExists().
>>>>
>>>> NULL values should be handled by offsetExists().
>>>>
>>>
>>> I am a bit curious,
isset checks that the variable
>>> exists and is not
>>> null; empty checks that the variable exists and is not
>>> empty. Why does
>>> one call offsetGet and not the other? Both look at the
>>> value.
>>>
>>> Sorry if I missed that bit of conversation.
>>>
>>
>> yeah, no problem :)
>> I also, don't talk that my opinion is completely right.
>>
>> I think that we make us and users more and more troubles with this messy
>> behavior.
>>
>> Actually, you introduced new behavior (NULL check) and broke at least ZF2
>> and probably many based on it applications.
>>
>
> That isn't any new behavior, at least it shouldn't be. QyuÜ*=Ië6¨8@»
> -isset does not
> ONLY check existence, it checks that the value is not null; see
> http://php.net/isset
>
I know :), but we never did it for magic handlers. In case offsetExists()
ot __isset() returned "flase" we didn't try to check the value.
>
> It leads to crash and it'll make bad php experience.
>> Then someone will report it as a security problem and we all will be
>> blamed :(
>> We shouldn't make existing applications crash!
>>
>
> Agreed, but at least from what I understand the current behavior doesn't
> do what it is supposed to anyway. Sometimes bugs become features but I
> really don't see this as one of those. We should fix this. That's my $0.02.
>
I would be very glad to have it fixed.
Thanks. Dmitry.