Simplifications de code pour php >= 7.4
SPIP 4.1 nécessite php 7.4 minimum. À ce titre, on peut utiliser certains sucres syntaxiques de PHP, notamment ??=
et ??
ou encore ?:
à différents endroits du code.
L’outil Rector https://github.com/rectorphp/rector permet de faire cela (et d’autres choses) presque automatiquement : une relecture est nécessaire cependant, car
- dès fois il peut créer des expressions peu pertinentes.
- dès fois il comprend les types des variables lorsqu’elles sont initialisées (dans un if par exemple) et va les caster en
array
oustring
si besoin si elles sont redéclarées en dehors de la première initialisation : mais dans notre code on réécrit parfois la variable en passant de array à string ou inversement, donc il faut surveiller. - il ajoute en tête de fonction toute variable utilisée qui a pu parfois ne pas été initialisée (en la déclarant null) : donc ne pas s’inquiéter de quelques ajouts de code
Enfin il remplace certains éléments, notamment dans les count($x)
s’il ne connait pas le type de $x
, il ajoutera systématiquement un (is_countable($x) ? count($x) : 0)
et d’autres choses comme ça.