PHP register_shutdown_func..
Du coté PHP
|
|
PHP register_shutdown_func..
Eirik Hoem’s publie sur son blog un article permettant d’afficher des messages personnalisés lorsque PHP rencontre une erreur fatale. Je vous ai fais la traduction de l’article pour que vous puissiez mettre en pratique d’une manière confortable et rapide le register_shutdown_function en action.
Les scripts ont tendance à mourir, et en général ce n’est pas joli. Nous ne voulons pas montrer à l’utilisateur une erreur fatale ni une page vierge (affichage des erreurs off). PHP possède une fonction nommée register_shutdown_function qui nous permet de mettre en place une fonction qui est appelée lors de l’exécution du shutdown. Ce que ça signifie c’est que notre fonction sera exécutée lorsque notre script aura terminé son exécution/de mourir et l’exécution de PHP est sur le point de shutdown. En réglant la variable sur false au début de notre script, et en la mettant à true à la fin du script, nous avons notre fonction shutdown qui peut vérifier si le script s’est terminé avec succès ou non. Si notre variable est toujours fausse nous savons que nous ne sommes jamais arrivé à la dernière ligne de notre script., et donc que le script est mort en chemin.. J’ai préparé un exemple très basique qui vous montre comment vous pouvez donner à l’utilisateur un bon feedback dans le cas d’une erreur fatale. Vous allez pouvoir désactiver l’affichage des erreurs fatales pour que ça soit beau.|
.01 .02 .03 .04 .05 .06 .07 .08 .09 .10 .11 .12 .13 .14 .15 .16 .17 |
<?php $clean = false; function shutdown_func(){ global $clean; if (!$clean){ die(”not a clean shutdown”); } } register_shutdown_function(’shutdown_func’); $a = 1; $a = new FooClass(); // will fail with fatal $clean = true; ?> |
Comme vous pouvez le voir, la fonction shutdown_func imprime quelque chose si la variable n'est pas propre à true lorsque la fonction d'arrêt court. Cela devrait bien sûr être enveloppé dans une classe (et PAS utiliser globals), et pour quelque chose de plus utilisable je recommande la vérification EZ Composants comme moyen d'y parvenir.
Ajouter un commentaire
Quelques articles qui devraient vous intéresser










Connexion
Les derniers!

