Hoi

Gewoon een kleine waarschuwing naar de toekomst toe.
Ik heb net de nieuwe php, 7.4.3, geïnstalleerd op mijn wamp installatie en kreeg onmiddellijk een paar waarschuwingen.

de short if mag dus niet langer zonder haakjes. Nu heb ik via voorbeelden plakken deze verschillende keren in mijn code. Soms zelf shortif in shortif.

Mijn oplossing was open alle php bestanden in je editor en zoek via regex
\?.*\:

ze allemaal op (find all in all open files) en dan verbeteren maar.

Bij mij had ik 28 bestanden op ±380 deze toekomstige fout:)

Jan
Je bedoelt de "ternary operator". En het gaat dus hier om: https://wiki.php.net/rfc/ternary_associativity

Je kunt (dus) nog wel een enkele (niet geneste) ternary operator zonder haakjes gebruiken:

$x = $iets ? $dit : $dat; //werkt prima

Zelf gooi ik er altijd sowieso maar een paar haakjes omheen. Maakt het voor jezelf ook makkelijker (editor markeert de bijbehorende sluithaak; hoef je niet zo te speuren).
Dus je kan dit straks niet meer in-line gebruiken?
Rob Doemaarwat op 17/03/2020 09:00:57


$x = $iets ? $dit : $dat; //werkt prima



Net dit zal niet meer werken

wel

$x = ($iets ? $dit : $dat);


met haakjes OK! Zonder haakjes warning en later error

- Ariën - op 17/03/2020 09:55:53

Dus je kan dit straks niet meer in-line gebruiken?

wel als er haakjes staan :)
Oh, dan valt het mee :-)
<?php
$x = $iets ? $dit : $zus ? $dat : $zo;
?>

Dat is sowieso onleesbaar....
Alleen daarom zou ik dat al niet toegepast willen zien.

Reageren