ID: 36682 Updated by: [EMAIL PROTECTED] Reported By: daniele_dll at yahoo dot it Status: Open -Bug Type: Scripting Engine problem +Bug Type: Documentation problem Operating System: Windows XP SP2 PHP Version: 5.1.2 New Comment:
Reclassifying as a doc problem. The behavior is correct. Previous Comments: ------------------------------------------------------------------------ [2006-03-10 20:10:08] daniele_dll at yahoo dot it for [EMAIL PROTECTED]: in the description of the bug i've said that "Terminating an heredoc without a newline cause a parse error" ... if you try an heredoc into an eval, terminating the stuff without a new line after the heredoc's terminator, you get a parse error for evalued code! [code] echo eval("return <<< EOF\r\nAll Works Correctly!\r\nEOF;"); [/code] So there is this "real" problem (not related to other characters into the terminator line) Or the heredoc's manual page need to be updated with a new sentence, like [quote] Remember that after the heredoc terminator is necessary a new line. [/quote] Or this, possible, bug need to be corrected ------------------------------------------------------------------------ [2006-03-10 18:44:05] daniele_dll at yahoo dot it This doesn't make sense! Why an heredoc needs, to works correctly, a line only for it, without other stuff after the terminator (with a semicolon)? If there is a terminator and an ending semicolon, the command terminates there, so i should add other commands in the same line without problems. I don't think this is a "really" bug, but it is a "logical" bug. If the heredoc terminator is founded and there is a semicolon to terminate the line, a new command can be executed, like all other structures in php. i can write <?php $a = 1; $c = 'daniele_dll'; $b = 'test'; $a = $b; $b = $c; echo $a . $b . $c; echo print_r($_SERVER, true); die("ASD"); ?> without problems, so have heredoc that doesn't let to me to add multiple commands after the heredoc termination (plus semicolon) doesn't make sense for me. There is a particular reason to manage heredoc in this way? ------------------------------------------------------------------------ [2006-03-10 18:07:34] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php The terminating new line is obligatory ------------------------------------------------------------------------ [2006-03-10 17:50:07] daniele_dll at yahoo dot it Description: ------------ Terminating an heredoc without a newline cause a parse error. The reported code was tested with php 5.0.4, 5.0.5 and 5.1.2 Reproduce code: --------------- <?php echo <<< HEREDOC_EOF Test Heredoc All works fine! HEREDOC_EOF;?> Expected result: ---------------- This code should output the text into the heredoc Actual result: -------------- The execution of this code return a parse error ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36682&edit=1