Hi,
On Fri, Feb 12, 2021 at 8:45 PM Ben Ramsey <ben@benramsey.com> wrote:
>
> I think it might be a good idea to check other languages to see if they
> support something like this. We could use their examples as points of
> reference for discussing whether to include this functionality in PHP.
>
On Sat, Feb 13, 2021 at 5:22 PM David Rodrigues <david.proweb@gmail.com>
wrote:
>
> One of the examples I have is when I need to include a class in an HTML
> element conditionally. There are probably better ways, but this is a quick
> one for simple situations:
>
> <div class="user {{ $user => "online" }}">...</div> vs.
> <div class="user {{ $user ? "online" : null }}">...</div>
>
On Tue, Feb 23, 2021 at 3:31 PM Nikita Popov <nikita.ppv@gmail.com> wrote:
>
> There's a limited budget for this kind of syntax sugar, and we already have
> ?:, ??, ??=, ?->. I don't think there's space for yet another shorthand
> conditional syntax.
>
> Note that => cannot be used for this purpose, as it is already used for
> array literals.
>
In Twig <https://en.wikipedia.org/wiki/Twig_(template_engine)>,
the "else"
part of a ternary expression is optional (colon included) and defaults to
an empty string. So, the following two lines are equivalent:
<div class="user {{ user ? 'online' }}">...</div>
<div class="user {{ user ? 'online' : ''
}}">...</div>
Maybe PHP could do the same (with null rather than an empty string for
the default), i.e.:
var_dump(true ? 'foo'); // string(3) "foo"
var_dump(false ? 'foo'); // NULL
but I'm not sure if the added complexity (in parser implementation and in
the language) would be worth it, to avoid typing " : null", nor if everyone
would actually find the shorthand more readable?
--
Guilliam Xavier