JeuWeb - Crée ton jeu par navigateur
ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! (/showthread.php?tid=5454)

Pages : 1 2


ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - php_addict - 26-05-2011

bonjour

juste pour faire part d'une expérience assez désagréable:

j'ai pour habitude de faire un ob_clean() avant tout envois d'header car je fais mes include de fonctions et classes (et oui un soupcon de POO) avant l’envoi d'header
L'ob_clean() me permet en cas de ne pas surveiller tout les retours à la ligne dans mes includes qui peuvent renvoyer un header

seulement voilà...comme mon site est encore en test, j'ai dit à mon php.ini d'afficher toutes les notice (E_NOTICE) histoire de faire un truc clean

et bien la fonction ob_clean() quand elle ne peut pas vider le tampon parce qu’il est vide renvois une NOTICE et donc un header (message d'erreur)

j'ai du donc mettre un @ devant tout mes @ob_clean()

il y a des fois où php m'agace fortement !


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - niahoo - 26-05-2011

Citation :L'ob_clean() me permet en cas de ne pas surveiller tout les retours à la ligne dans mes includes qui peuvent renvoyer un header

mauvais plan

Citation :j'ai du donc mettre un @ devant tout mes @ob_clean()

re-mauvais plan

Tu as pensé à faire un ob_start() au moins avant ?

Non mais sinon oublie, je trouve que c'est vraiment fumeux comme pratique, ça te pète à la gueule facilement ces trucs. Et ce n'est pas bien compliqué de prendre ses fichiers un par un et de regarder si la première ligne commence bien par <?php. Je pense que ta solution est de faire ça.


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - Argorate - 26-05-2011

J'admet ne pas saisir l'utilité de la chose? Si c'est supposé verifier les espaces ou autres sauts de lignes dans les fichiers inclus, c un travail d'homme ça... non?
Tu n'a qu'a pas faire d'espace ou de saut de ligne et puis c'est tout, enfin je comprends pas trop et je dois pas non plus bcp t'aider, donc je vais me taire maintenant ^^


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - niahoo - 26-05-2011

la flemme d'expliquer là :] mais bon en gros ça empêche tout ce qui n'est pas compris entre <?php et ?> d'être envoyé au navigateur. (en tout cas, ce qui apparaît avant l'appel à la fonction)


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - php_addict - 26-05-2011

peut etre mais vu le nombre de mes fichiers inclus je trouve ca quand même vachement pratique, au lieu de ce l'est taper un par un.

c'est peut être pas très conventionnel mais quand tu dis "ca va t péter à la gueule" tu sous entends quoi ?


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - niahoo - 26-05-2011

bah je sais pas, serveur qui tombe en rade, obligé d'héberger temportairement sur le mutu d'un pote dont la config autorise pas la bufferisation par exemple. (bon, je sais pas si ça existe, je vois pas l'intérêt).

L'idée c'est que ce n'est pas propre et que dans ce cas on ne sait pas à quoi s'attendre. genre des fois je fais des echo avant de faire des headers pour voir le contenu d'une variable récalcitrante, et les headers ne provoquent pas d'erreur, apparemment le serveur d'un de mes PC permet ça (ça me parait pas logique, mais je m'en fous, je fais que quelques tests dessus). Mais le truc, c'est que je n'ai pas d'erreur headers already sent, or j'affiche bien les erreurs, je n'ai pas vérifié si dans ce cas les headers étaient quand même envoyés, c'est donc une inconnue et potentiellement casse-couilles.


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - Argorate - 27-05-2011

php_addict, en théorie, tu n'as pas créer tte tes pages d'un coup, peu importe le nombre, si tu vérifies au fur et a mesure que tu les crées, il n'y a pas de problème de ce genre.

Enfin je trouve ça bizarre de chercher une cheat pour contourner un manque potentiel de rigueur (c'est pas une critique, juste une remarque), qu'en penses-tu?


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - niahoo - 30-05-2011

alors ?


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - php_addict - 30-05-2011

alors j'ai réflechis:

vous avez mille fois raison, c'est à moi de vérifier que rien n'est envoyé avant le header, et c'etait stupide de nettaoyer un cache où en principe il doit être vide

merci pour vos conseils avisés.

comme je suis amateur et bosse seul alors parfois je m'embarque dans des truc inutiles...


RE: ob_clean() et E_NOTICE : il y a des fois où php m'agace fortement ! - niahoo - 30-05-2011

ben disons que ça peut dépanner Wink