Journal du Net Développeur >  PHP >  Exploiter la bufferisation de sortie de PHP

Exploiter la bufferisation de sortie de PHP > 1. Repérer une erreur

Précédente 2. Compresser avec gzip 
Agir en fonction d'une erreur
  1. <?php
  2. ob_start();
  3. $lapin = diversTraitements();
  4. echo $civet = grosTraitement($lapin);
  5. $erreur = provoqueUneErreur($civet);
  6. if ($erreur) {
  7.     ob_end_clean();
  8.     afficheUneExcuse($erreur);
  9.     }
  10. else {
  11.     ob_end_flush();
  12.     }
  13. ?>

Le premier besoin pour cette fonctionnalité s'est fait ressentir quand les développeurs ont dû ajouter ou modifier des en-têtes (par exemple, créer un cookie, ou faire une redirection), alors même que ceux-ci avaient déjà été envoyés.

Autre besoin : éviter qu'un problème d'envoi d'en-têtes ne survienne quand un message d'erreur se présente à un moment inopportun.

L'objectif, avec la bufferisation, est avant tout de travailler sur les en-têtes et le contenu, sans devoir se soucier si ce travail est fait dans le bon ordre. Ce, simplement en encadrant son code des appels ob_start() et ob_end_flush(), par exemple.

Mais il est également possible de réaliser des traitements sur le contenu du tampon. Ainsi, selon qu'il génère une erreur interne au code, ou même une erreur PHP, on pourra modifier l'affichage pour prendre en compte ce qu'il s'est déroulé, et éviter au visiteur de recevoir une erreur inutile.

Précédente Retour au sommaire Suivante 
1 | 2 | 3
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex