ob_start()

sepon
Invité n'ayant pas de compte PHPfrance

23 août 2006, 09:59

Bonjour à tous,

j'ai une question concernant ob_start, est-ce que c'est vraiment conseillé de l'utiliser si on peut faire autrement ?

Car ce serait moi, je l'utiliserais sur chacune de mes pages ayant un form afin de gagner en facilité de codage pour mes redirections, mais je me demande si c'est pas trop gourmand en ressources ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 août 2006, 12:16

Si le but de rediriger les flux, pour toi, est d'éviter d'avoir des erreurs dans tes header, c'est qu'il y a un soucis de développement.

Normalement, tu peux réaliser les traitements PHP AVANT l'affichage du HTML
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

sepon
Invité n'ayant pas de compte PHPfrance

23 août 2006, 13:39

C'est pas trop mon problème, je sais comment faire une redirection header avant l'envoi d'informations, mais c'est plus un souci de propreté de mon code avec les includes, et surtout pour m'y retrouver facilement.

Un exemple vaut mieux que de longs dsicours :

Une page membre.php, sur cette page il peut y avoir une inscription, une connexion, une deconnexion, afficher tous les membres, voir un membre en particulier, etc...

Pour chaques actions, j'ai tout séparé en fichier à inclure, a appelée dans membre.php.

le problème, c'est qu'au niveau formulaire, je ne peux faire un header dans les includes, puisque l'affichage a déjà eu lieu sur la page appelante.

Donc comme solution, je n'ai que :

- Faire le traitement de tous les forms sur la page appelante.
Mais mon code sera pas très propre, un peu fouilli.
- Faire le traitement de tous les forms dans un include exclusivement réservé à cet effet, sera appelé avant toute sortie, peut-être la meilleure solution.
- ob_start()

Donc voilà, la facilité reste ob_start, :oops: mais question coût en ressources, je ne sais pas ce que ça donne, c'était pour cela ma question :D