Re: [PHP-DEV] [RFC] Implicit isset() in Shorthand Ternary Operator

[email protected] (Pierre Joye)
Newsgroups php.internals
Message-ID <CAEZPtU71y7aMaMuS4H2UcL35Z72caOJ3tJ4OY7wFGPHPyLY5JA@mail.gmail.com>
On Tue, Sep 9, 2014 at 12:58 AM, Adam Harvey <[email protected]> wrote:
> On 8 September 2014 07:56, Christoph Becker <[email protected]> wrote:
>> Am 08.09.2014 15:58, schrieb Andrea Faulds:
>>> We could add such an operator, perhaps with the ?? syntax. However, I
>>> don’t really like the idea. It’s too similar to ?: so I don’t think
>>> it’d be accepted, and even if it was, I’m not sure we really need
>>> another operator. I’d much rather just make ?: do what, IMO, is the
>>> right thing and what it always should have done.
>>
>> I'd rather had a shortcut for the following:
>>
>>   isset($_GET['foo']) ? $_GET['foo'] : BAR
>
> Agreed. That's what ifsetor requests have generally boiled down to
> over the years, so it seems to be what the masses want.
>
> It's what _I_ want, anyway. :)
>
>> Of course, it is not possible to change the ?: operator to work this way
>> for BC reasons, but a new operator such as ?? might make sense.
>
> +1 on ?? — there's precedent for it, and it means we don't have to
> explain why the shorthand form of an operator behaves differently to
> the long form, which is just going to confuse users.

After a 2nd look I have to agree here too. Changing behavior in
something so widely used as the current operator will likely create
more pains. A new operator, clearly documented, sounds much cleaner,
even more as it does something different anyway.


-- 
Pierre

@pierrejoye | http://www.libgd.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.