>
> On Aug 10, 2020 at 11:02 AM, <Ilija Tovilo (mailto:[email protected])>
> wrote:
>
>
>
> Hi Mike > $card_html = <<<HTML <div id="card-{$card->id}" class="card
> {$card?->css}"> {$card->content} </div> HTML; Two things: 1. We're solely
> talking about string interpolation without braces {}. You're using braces in
> your example and this does indeed work right now.
>
>
>
>
>
>
>
Thank you for clarifying. That was not obvious to me.
If it was explicitly mentioned in the thread and I missed it, I apologize.
>
>
> 2. The semantics of ?-> are different than you're depicting them to be in
> this example. ?-> will only short-circuit if $card is null, not when the
> property "css" is not defined. Thus, if $card was null your example would've
> already failed at $card->id.
>
>
>
>
>
>
>
Good point. I was remembering a frequent problem but did not convey the
use-case correctly so please let me update it:
>
> class="card {$card->attributes?->css}"
>
>
>
>
> The only real information I was trying to convey was that when
> generating HTML there is a frequent need to output a value if one exists but
> output nothing otherwise. So hopefully this time I got the usage correct for
> this new feature.
-Mike
P.S. I would have tested it before sending, but I do not have a local PHP
install that I can test this syntax with yet.
>
> >
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>