Quoi de neuf dans PHP 8.5 ? Un aperçu complet

· Oskar Stark · Temps de lecture: 3 minutes
PHP 8.5

PHP 8.5 sort en novembre 2025 et apporte plusieurs nouvelles fonctionnalités utiles et des améliorations. Cette nouvelle version se concentre sur l'amélioration de l'expérience développeur, de nouvelles fonctions utilitaires et de meilleures capacités de débogage.

Les principales nouveautés en bref

1. Des nouvelles fonctions pour les tableaux : array_first() et array_last()

Tout d'abord, PHP 8.5 ajoute deux fonctions très demandées pour récupérer les premières et dernières valeurs d'un tableau, en complétant ainsi les fonctions existantes array_key_first() et array_key_last() de PHP 7.3.

$users = ['Alice', 'Bob', 'Charlie'];

$firstUser = array_first($users);  // 'Alice'
$lastUser = array_last($users);    // 'Charlie'

// Fonctionne aussi avec les tableaux associatifs
$data = ['name' => 'John', 'age' => 30, 'city' => 'Berlin'];
echo array_first($data); // 'John'
echo array_last($data);  // 'Berlin'

// Retourne null pour les tableaux vides
$empty = [];
var_dump(array_first($empty)); // null
var_dump(array_last($empty));  // null

Ces fonctions sont équivalentes à :

  • array_first($array)$array[array_key_first($array)]

  • array_last($array)$array[array_key_last($array)]

En savoir plus : PHP.Watch - array_first() et array_last()

2. L'opérateur Pipe (|>)

PHP 8.5 intègre un nouvel opérateur pipe (|>) qui permet de chaîner plusieurs callable de gauche à droite, en passant la valeur de retour du callable de gauche à celui de droite :

$result = 'Hello World'
    |> strtoupper(...)
    |> str_shuffle(...)
    |> trim(...);
// Sortie : 'LWHO LDLROE' (ou résultat mélangé similaire)

// Équivalent aux appels imbriqués :
$result = trim(str_shuffle(strtoupper('Hello World')));

// Ou en utilisant des variables :
$result = 'Hello World';
$result = strtoupper($result);
$result = str_shuffle($result);
$result = trim($result);

L'opérateur pipe fonctionne avec tous les callable - fonctions, méthodes, closure et first-class callable. Cependant, il a quelques limites :

  • Tous les callable doivent accepter seulement un paramètre requis

  • Les fonctions avec des paramètres par référence ne peuvent pas être utilisées (avec quelques exceptions)

  • La valeur de retour est toujours passée comme premier paramètre

En savoir plus : PHP.Watch - Opérateur Pipe

3. De nouveaux getters pour les gestionnaires d'erreurs et d'exceptions

PHP 8.5 introduit aussi deux nouvelles fonctions qui permettent de récupérer les gestionnaires d'erreurs et d'exceptions actuellement actifs : get_error_handler() et get_exception_handler().

C'est particulièrement utile pour :

  • Le développement de frameworks et le chaînage de gestionnaires

  • Le débogage des configurations de gestion d'erreurs

  • La substitution temporaire de gestionnaires tout en préservant les originaux

Les deux fonctions retournent le callable du gestionnaire actuel ou null si aucun gestionnaire personnalisé n'est défini.

En savoir plus : PHP.Watch - get_error_handler() et get_exception_handler()

4. Une nouvelle fonction cURL : curl_multi_get_handles()

L'extension cURL obtient une nouvelle fonction pour récupérer tous les handles d'un multi-handle :

$multiHandle = curl_multi_init();

$ch1 = curl_init('https://api.example.com/users');
$ch2 = curl_init('https://api.example.com/posts');

curl_multi_add_handle($multiHandle, $ch1);
curl_multi_add_handle($multiHandle, $ch2);

// Nouveau dans PHP 8.5 : Récupérer tous les handles
$handles = curl_multi_get_handles($multiHandle);
// Retourne : [$ch1, $ch2]

// Exécuter et traiter les résultats
$running = null;
do {
    curl_multi_exec($multiHandle, $running);
} while ($running > 0);

foreach ($handles as $handle) {
    $response = curl_multi_getcontent($handle);
    curl_multi_remove_handle($multiHandle, $handle);
}

En savoir plus : PHP.Watch - curl_multi_get_handles()

5. Une nouvelle fonction Locale : locale_is_right_to_left()

PHP 8.5 ajoute également un support pour détecter les locales droite-à-gauche (RTL), ce qui améliore les capacités d'internationalisation :

// Vérifier si la locale utilise l'écriture RTL
$isRTL = locale_is_right_to_left('ar_SA'); // true (Arabe)
$isLTR = locale_is_right_to_left('en_US'); // false (Anglais)
$isFarsi = locale_is_right_to_left('fa_IR'); // true (Persan/Farsi)

// Approche orientée objet
$isRTL = Locale::isRightToLeft('he_IL'); // true (Hébreu)

C'est une fonctionnalité qui sera très utile pour :

  • Construire des applications web multilingues

  • L'alignement correct du texte dans les interfaces utilisateur

  • L'attribution dynamique de classes CSS, basée sur la locale

En savoir plus : PHP.Watch - locale_is_right_to_left()

6. Une nouvelle constante PHP_BUILD_DATE

Une nouvelle constante fournit la date de compilation du binaire PHP, ce qui sert pour le débogage et l'audit de version :

echo PHP_BUILD_DATE; // ex., 'Nov 15 2025 10:30:45'

// Utile pour le débogage en production
echo 'Version PHP : ' . PHP_VERSION . "\n";
echo 'Date de compilation : ' . PHP_BUILD_DATE . "\n";

En savoir plus : PHP.Watch - PHP_BUILD_DATE

7. Une amélioration du CLI : php --ini=diff

Une nouvelle option CLI apparaît pour afficher seulement les directives INI non-par-défaut :

# Afficher seulement les paramètres modifiés
php --ini=diff

# Exemple de sortie :
# memory_limit = 256M (default: 128M)
# max_execution_time = 60 (default: 30)

En savoir plus : PHP.Watch - CLI --ini=diff

Pourquoi migrer vers PHP 8.5 ?

Une expérience développeur améliorée : Les nouvelles fonctions de tableaux éliminent le "code passe-partout" courant et rendent les intentions plus claires.

Un meilleur débogage : Les nouveaux getters de gestionnaires fournissent une meilleure compréhension du comportement de l'application.

Des outils améliorés : La nouvelle option de CLI et la constante de date de compilation aident au débogage et au suivi de déploiement.

Garantir la pérennité : Restez à jour avec les dernières fonctionnalités PHP et les mises à jour de sécurité.

Conclusion

Si PHP 8.5 ne révolutionne pas le langage, il apporte des améliorations pratiques qui enrichissent les workflows de développement quotidiens. Les nouvelles fonctions de tableaux répondent aux demandes de longue date des développeurs, tandis que l'opérateur pipe permet d'effectuer des appels de fonctions de manière plus propre.

La mise à niveau de PHP 8.4 vers PHP 8.5 devrait être simple pour la plupart des applications, car les nouvelles fonctionnalités apportent immédiatement de la valeur sans endommager le code existant.

Ma recommandation de monter de version : Si vous utilisez déjà PHP 8.4, je vous recommande de monter de version vers PHP 8.5. Les nouvelles fonctionnalités améliorent la qualité du code et les capacités de débogage, tout en réduisant l'effort de la montée de version.

Prêts à passer à PHP 8.5 ?

Notre équipe est spécialisée dans le développement Symfony et PHP. Elle vous aide à monter de version en douceur et à exploiter les dernières fonctionnalités de PHP. Contactez-nous pour parler de votre stratégie de montée de version vers PHP 8.5.

Cela pourrait aussi vous intéresser

PHP 8.5 URI extension
Oskar Stark

La nouvelle extension URI de PHP 8.5 : Une révolution pour l'analyse des URL

PHP 8.5 introduit une nouvelle extension URI puissante qui modernise la gestion des URL. Grâce au support des standards RFC 3986 et WHATWG, la nouvelle classe Uri fournit des objets immuables, des interfaces fluides et une validation appropriée, résolvant ainsi toutes les limites de la fonction historique parse_url(). Cet articl présente des exemples pratiques avant/après et explique quand utiliser chaque standard.

En savoir plus
3 dog heads
Mathieu Santostefano

Venez avec votre propre client HTTP

Libérez-vous des dépendances rigides de vos SDK PHP. Dans cet article, apprenez à utiliser les normes PSR-7, PSR-17 et PSR-18, ainsi que la bibliothèque php-http/discovery, pour permettre à vos utilisateurs d'utiliser le client HTTP de leur choix, qu'il s'agisse de Guzzle, de Symfony HttpClient ou d'un autre. Un incontournable pour les développeurs PHP et Symfony.

En savoir plus
the surface of the earth seen from the space with city lights forming networks
Imen Ezzine

Les verbes HTTP : votre Guide Complet

Apprenez les bases des verbes HTTP : GET, POST, PUT, DELETE, et plus encore. Cet article vous explique leur fonctionnement, leurs utilisations et les conséquences en matière de sécurité.

En savoir plus
2025 a year of celebrations for PHP with windows about API Platform, PHP, AFUP and Symfony
Jules Daunay

2025 : l’année des anniversaires pour PHP, l’AFUP, Symfony et API Platform

En 2025, plusieurs anniversaires majeurs vont avoir lieu. Les 20 ans de Symfony bien sûr, mais aussi les 30 ans de PHP, les 25 ans de l’AFUP et les 10 ans d’API Platform. Pour SensioLabs, c’est un jalon majeur qui montre la pérennité des technologies de notre écosystème. Nous sommes très heureux de fêter ces anniversaires avec la communauté pendant toute l’année.

En savoir plus
Blue ElePHPant on a computer
Imen Ezzine

Optimisez Votre Code PHP : 8 Fonctions à Connaître pour Manipuler les Tableaux avec Efficacité

Devenir un excellent développeur PHP nécessite une maîtrise parfaite de la manipulation des tableaux. Ces structures sont incontournables en PHP, que ce soit pour stocker temporairement des données, les organiser ou les traiter avant leur enregistrement dans une base de données. En maîtrisant leur fonctionnement, vous serez en mesure de gérer et de manipuler vos informations de manière plus efficace et optimisée.

En savoir plus
Image of a desk with a laptop and monitor
Oskar Stark

Introduction à PIE : Le nouvel installateur moderne pour les extensions PHP

Découvrez PIE, le nouvel installateur d'extensions PHP qui simplifie leur gestion avec un flux de travail moderne inspiré de Composer. Une alternative innovante et moderne à PECL pour les développeurs PHP.

En savoir plus
SymfonyLive 2024
Jules Daunay

SymfonyLive Paris 2024 : des conférences et du fun, voici notre recap

Les 28 et 29 mars derniers, l’équipe de SensioLabs et la communauté française de Symfony étaient présents à la Cité Internationale Universitaire de Paris pour le SymfonyLive Paris 2024. Vous n’étiez pas présent à cet événement incontournable ? Bon, comme vous aimez aussi Symfony, on vous le résume, mais c’est bien parce que c’est vous !

En savoir plus
Some speaker
Jules Daunay

Découvrez notre récap des événements Symfony de Février 2024

Le mois de février a été riche en événement pour SensioLabs. En effet, nous avons parcouru la France, la Suisse, l’Angleterre et pour finir, le Canada pour y participer. Nous vous embarquons avec nous dans cet article pour notre récap des événements de février auxquels nous avons participé. Bonne lecture !

En savoir plus
Image