#21891 [Com]: Closing PHP tag and Newlines Revisted

From: Date: Fri, 02 May 2003 10:09:39 +0000
Subject: #21891 [Com]: Closing PHP tag and Newlines Revisted
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969353016@lists.php.net to get a copy of this message
ID: 21891 Comment by: gk at proliberty dot com Reported By: hz11 at nyu dot edu Status: Open Bug Type: Documentation problem Operating System: FreeBSD/Linux PHP Version: 4.3.0 New Comment: This is not a documentation problem; the documentation actually says TWICE that this should NOT be happening. Here's the second place: >This works as expected, because when PHP hits the ?> closing tags, it simply starts outputting whatever it finds until it hits another opening tag This bug involving LOSS OF DATA. That is serious IMHO; second only to crashes. I have reproduced this in PHP 4.3.2-RC (cli) (built: Apr 25 2003 18:03:38) and also in apache module. -- a simpler example script: line1 <?php ?> line2 -- output: line1 line2 Previous Comments: ------------------------------------------------------------------------ [2003-01-26 14:39:00] hz11 at nyu dot edu This is a follow-up to bug #13954. I'm sorry to open another ticket for this, however I added some comments, yet didn't see any indication that they were saved (ie, I didn't get an email confirmation). I'd like another look at this issue, since the documentation seems to clash with actual behavior; plus, I think the actual behavior is peculiar. Using a CLI compiled 4.3.0 binary, this script: #!/bin/psh <?php $foo = 'Hello'; $bar = 'World'; ?> <?=$foo?> <?=$bar?> <?php echo 'DONE!'; ?> This script will produce: <empty line> HelloWorld DONE![unix prompt]$ Note that there is no trailing space (x20) after <?=$foo?> and <?=$bar?> - only a newline (x0A) According to http://www.php.net/manual/en/language.basic-syntax.php#language.basic-syntax.phpmode "The closing tag for the block will include the immediately trailing newline if one is present." Now if I add a x20 after the closing tag, then the newlines are honored. Why does this behavior make any sense? Adding the x20 after the closing tag is very hackish, especially since the aforementioned URL has statements like "...because when PHP hits the ?> closing tags, it simply starts outputting whatever it finds until it hits another opening tag" throughout. Obviously, however, this isn't true, since PHP decides to ignore the newline immediately after the closing tag. I don't understand why this behavior would be desired anyway; what is outside the PHP tags should simply be passed through. And especially since the docs are misleading about this. Thank you, and please don't hesitate to request clarification if I'm not making myself clear. Hans ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21891&edit=1

« previous php.doc (#969353016) next »