jobsphp

ActualitéOpen Source & Outils

PHP 8.6.0 Beta 2 : les points de vigilance pour vos tests de compatibilité

Selon PHP.Watch, l'équipe de développement de PHP a mis en ligne la Beta 2 de PHP 8.6.0, un jalon intermédiaire du cycle de release destiné à valider les corrections de dernière minute avant les release candidates.

PHP 8.6.0 Beta 2 : les points de vigilance pour vos tests de compatibilité

Pour qui maintient du code en production, c'est la fenêtre utile pour repérer ce qui casse — pas pour déployer.

Ce que contient la Beta 2

Le changeset se concentre sur trois cibles:

  • Moteur de base: corrections de bugs internes. Pas de Changelog exhaustif dans le snippet source, donc impossible de lister les commits précis sans aller fouiller le NEWS officiel — et c'est justement ce qu'on doit faire avant tout upgrade.
  • PDO: fixes sur la couche d'abstraction base de données. Si votre stack repose sur PDO avec des drivers exotiques ou des requêtes préparées massives, c'est le moment de rejouer votre suite de tests d'intégration.
  • Phar: corrections sur le format d'archive. Tout outil de distribution ou de plugin en .phar mérite une passe de validation.

Le point qui fâche: return dans finally

La Beta 2 officialise la dépréciation de l'instruction return à l'intérieur d'un bloc finally. Concrètement, votre code:

try {
$result = fetchData;
} finally {
return $result; // ← déprécié
}

…devrait être refactorisé pour stocker la valeur et retourner après le try/finally, ou restructuré avec un try/catch propre. Ce pattern écrasait silencieusement les exceptions en cours de propagation — un anti-pattern classique que le moteur va cesser d'accepter. Les frameworks legacy sont pleins de ces pièges. Anticipez.

Verdict

À tester en staging, pas en prod. La Beta 2 n'est PAS une release candidate: le tag « Beta » exclut tout déploiement série. Lancez votre suite de tests, profilez les chemins PDO et Phar, greppez votre codebase pour return dans des blocs finally, puis attendez la RC1 pour re-tester avant la GA. Le binaire changera encore.