Fr:Astuces du langage PHP
Fr:Astuces du langage PHP
[edit] PHP includes
Pensez bien à enlever tous les sauts de ligne à la fin de votre fichier php (ou les includes) ( ?>). Jusqu'à php 4.3.x, cela insère ces sauts de lignes dans le flux http et xajax ne peut pas interpréter le xml en retour. - GJD 12/12/05
Dans les faits, apparement, vous ne pouvez avoir aucun espace après le ?> dans aucun de vos fichiers sinon cela endommage la réponse XML en retour. -- Jared
Cela affecte toutes sortes d'application créant un flux plus complexe que le HTML (GIF, PDF, etc). Laisser ces espaces est particulièrement mauvais pour les "include()/require()". La conséquence typique pour les applications HTML est l'impossibilité d'envoyer les headers (et donc les cookies). Gardez un oeil sur le niveau des erreurs (error reporting level et display_errors). -- David Brown 2006-01-21
Si vous n'ajoutez pas le "?>" final dans vos fichiers PHP, le parseur PHP en insère un virtuel après le dernier caractère. J'ai appris cette astuce il y a quelques années et depuis je n'ai plus le message m'indiquant 'can't send header'. Cela a été d'une grande aide pour les scripts de création d'image, les fichiers d'include, etc ., et maintenant - ajax.
Si vous tenez à garder votre précieux tag "?>" , entourez juste votre include()/require() avec le bloc "ob_start(); ... ob_end_clean();". C'est également intéréssant de remarquer que les fonctions include()/require() s'execute beaucoup plus vite que les fonctions include_once()/require_once() et peut accélérer la vitesse d'execution de vos scripts si vous en utilisez beaucoup.