Re: Re: 5dee3c11 break
If you think the current behavior is right, we need protection from
recursion (similar to __get()).
Thanks. Dmitry.
On Tue, May 6, 2014 at 6:46 PM, 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.
> 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!
>
> Thanks. Dmitry.
>
>
Thread (17 messages)