Le navigateur demande une page PHP au serveur Web. Celui-ci réalise l'appel à deux fonctions PHP pour produire la page demandée par le navigateur.
- La fonction 1 finit son traitement en 100 ms
- La fonction 2 finit son traitement en 200 ms
function fonction1()
{
// TODO
}
function fonction2()
{
// TODO
}
fonction1();
fonction2();
?>
La page sera alors délivrée au client en 300 ms.
Voici un exemple d'utilisation de la fonction register_shutdown_function :
- La fonction 1 finit son traitement en 100 ms
- La page est retournée au client
- La fonction 2 finit son traitement en 200 ms après que la page ait été retournée au client.
function fonction1()
{
// TODO
}
function fonction2()
{
// TODO
}
register_shutdown_function("fonction2");
fonction1();
?>
La page sera alors délivrée au client en 100 ms.
L'avantage de cette fonction est de pouvoir exécuter un traitement lorsque le script PHP s'arrête suite à un exit() ou un die(). Ceci permet d'éviter de faire attendre un client sur des traitements qui n'auront aucun effet sur le résultat de sa demande.
Cette fonction est donc très utile pour :
- La suppression de ressources temporaires.
- La fermeture de socket ou de connexion à la base.
- Le logging
- Etc