Nouvel opérateur PHP 7 : Null Coalesce

En traînant pour chercher un package dans les intertubes, je suis tombé sur une lib php compatible uniquement avec PHP7.

C’est vrai que je devrais y passer, mais tant que Debian ne l’intègre pas, ça veut dire que ce n’est pas stable non ?

Bref, en fouillant un peu j’ai regardé ce qui pouvait bloquer la compatibilité PHP5.6 et je suis tombé sur ce truc chelou comme ça :


$foo = $bar ?? false;

Watafak : Null coalescing operator

Et en fait, même si il a un nom à coucher dehors, j’ai bien aimé. C’est une sorte de ternaire évolué qui vous permet, au lieu de faire :


echo $count ?: 5

 


echo $count ?? 5

Alors là tu te dis, ok on a changé un caractère, super ! Mais non, parce que tu peux chainer, et il va prendre la première valeur qui répond true à isset(), et false à is_null() :


$bar = 5 //$foo retourne donc false à isset()
echo $foo ?? $bar ?? 7;

Pas mal non ? Et si t’as envie de savoir ce qu’est la coalescence, tu vas sur Wikipedia

metrogeek

Laisser un commentaire