Aller au contenu

Fonction header_register_callback() de PHP : Tout ce que vous devez savoir

En tant que développeur PHP, vous devrez peut-être manipuler dynamiquement les en-têtes HTTP dans votre application web. La fonction header_register_callback() est un outil intégré à PHP qui enregistre une fonction de rappel (callback) à exécuter automatiquement lorsque les en-têtes sont sur le point d'être envoyés au client. Ce guide couvre sa syntaxe, son utilisation et les meilleures pratiques.

Qu'est-ce que la fonction header_register_callback() ?

La fonction header_register_callback() est une fonction intégrée à PHP qui enregistre une fonction de rappel à exécuter lorsque les en-têtes sont sur le point d'être envoyés au client.

Comment utiliser la fonction header_register_callback()

L'utilisation de la fonction header_register_callback() est simple. Voici sa syntaxe :

Syntaxe PHP de la fonction header_register_callback()

php
header_register_callback(callable $callback): bool

La fonction prend un paramètre :

  • callback : Une fonction callable sans paramètre que vous souhaitez enregistrer.

Remarque : Disponible depuis PHP 5.4.0. Retourne true en cas de succès, ou false en cas d'échec. Vérifiez toujours la valeur de retour pour vous assurer que la fonction de rappel a été enregistrée correctement.

Voici un exemple d'utilisation de la fonction header_register_callback() pour enregistrer une fonction de rappel :

Comment utiliser la fonction header_register_callback() ?

php
<?php

function my_callback() {
    header('X-Custom-Header: CustomValue');
}

if (!header_register_callback('my_callback')) {
    // Handle potential registration failure
    error_log('Failed to register header callback');
}

Dans cet exemple, nous définissons une fonction de rappel nommée my_callback qui n'accepte aucun paramètre. Nous enregistrons ensuite cette fonction de rappel à l'aide de la fonction header_register_callback(). Le rappel est invoqué exactement une fois lorsque les en-têtes sont sur le point d'être envoyés au client, ce qui vous permet de modifier ou d'ajouter des en-têtes HTTP à l'aide de la fonction header().

Note de compatibilité : Le rappel s'exécute pendant la phase de fermeture de la requête. Si vous utilisez la mise en tampon de sortie (ob_start()) ou register_shutdown_function(), sachez que ce rappel s'exécute après la vidage du tampon de sortie, mais avant la fin complète du script. Ce timing le rend sûr pour définir des en-têtes en fonction des conditions d'exécution sans interférer avec la sortie précoce.

Conclusion

La fonction header_register_callback() offre un moyen fiable de modifier dynamiquement les en-têtes HTTP. En vérifiant sa valeur de retour et en comprenant son moment d'exécution, vous pouvez l'intégrer en toute sécurité dans vos applications PHP.

Pratique

Quelle est la fonction de la fonction header_register_callback() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.