Hey Dan,

>> The falsy semantics of empty() means that inlining its behaviour to exactly 
>> match
>> isset() isn't logical.
>
> The problem isn't so much that the behaviour doesn't match some other
> pattern in PHP; the problem is that the function doesn't do what its
> name says it does.
>
> "if any arguments passed into empty() are considered falsy, then true
> will be returned"
>
> i.e. it doesn't check whether the arguments are 'empty', it's checking
> whether they are 'all set and not falsy'. Having a function do
> something different to what it's name suggests will lead to it being
> used incorrectly a lot of the time.

Yes, I think this is probably the discursive area that is causing a divide in 
vote.
The only compromise I can think of (though not sure on its feasibility) would be
to have a flag as the last parameter that defaulted to logically AND'ing its 
args
with the ability to switch the semantics to logically OR the args.

> The other reason I voted no, is that I just don't think this adds
> enough to the language to be implemented in core. For at least two of
> the examples in the RFC the desired functionality could be implemented
> in userland.
>
> The size of the PHP core codebase is already unwieldy. I think any
> suggested addition needs to have a clear advantage over being
> implemented in userland

I could understand this POV if it caused a lot of changes, but the patch is
pretty simple a small. I think the potential benefits brought by this feature
is worth its weight against 10 lines of additional code in the language grammar
file.

> cheers
> Dan

Thanks for reclarifying the issues you have with this RFC.

-Tom
                                          
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to