The Daily Commit · Édition de rubrique La une PHP AI Dev EN DE FR ES

The Php Times

Actus — Écosystème

Les déprécations PHP 8.6 posent des défis en CI et logging pour les dépendances externes


Les 35 RFCs de déprécation approuvées pour PHP 8.6 génèrent des avertissements sans ruptures de compatibilité.

R/PHP (TOP), 12 août 2026 sélectionné par Heiko

Avec le logging au niveau Notice activé, les appels dans les paquets externes créent un volume de logs inattendu et des surcoûts. Problème : le bruit de déprécation passe inaperçu en CI mais explose dans les logs de production. Rector aide pour le code personnel, non pour les dépendances.

Les RFCs de déprécation pour PHP 8.6 sont approuvées. Bien qu'aucun code ne casse dans la nouvelle version, les fonctions obsolètes génèrent des avertissements facilement ignorés—surtout quand les paquets externes les déclenchent dans des chemins de code fréquemment exécutés.

Dans les projets avec logging au niveau Notice (courant dans les configurations Laravel), chaque appel déprécié inonde les logs, augmentant la consommation disque et les coûts d'ingestion. Les équipes diagnostiquent souvent cela comme un problème d'infrastructure plutôt que de modernisation, retardant la correction réelle.

Le point de friction central concerne les paquets externes. Le code personnel se met à jour rapidement, et des outils comme Rector automatisent une grande partie. Les dépendances externes sans versions PHP-8.6-ready continuent à émettre des avertissements jusqu'au correctif du mainteneur—un délai hors du contrôle direct.

Une approche pragmatique : activer E_DEPRECATED comme erreur en CI avant le déploiement. Cela détecte les déprécations lors des tests, pas après leur arrivée en production. Une implémentation minimale convertit les avertissements en exceptions :

error_reporting(E_ALL); set_error_handler(function ($errno, $errstr, $errfile, $errline) { if ($errno === E_DEPRECATED || $errno === E_USER_DEPRECATED) { throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); } return false; });

Ceci transforme les avertissements de déprécation en erreurs de test rigoureux, empêchant qu'ils ne saturent silencieusement les logs de production. Le débat communautaire reste ouvert : implémenter des portes CI strictes pour les déprécations, ou tolérer le bruit en attendant les ressources de correction.

Lire la source originale (en anglais) ↗

Évaluer cet article : 0

Tribune des lecteurs

Pas encore de contributions — lance le débat.

← Écosystème — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Édition écran · Mentions légales · Politique de confidentialité