Hi Andrea,

Le 07/09/2017 à 03:45, Andrea Faulds a écrit :
Hi everyone,

This is the tiniest of issues, but it's bugged me for a long time and makes the HTML produced by PHP code less readable than it out to be. Specifically, PHP ignores a newline immediately following a ?> tag. The reason for this is, from what I recall, to prevent issues where whitespace at the end of a PHP file is echoed before headers can be sent. On UNIX in particular, all text files (should) end in a newline, so this is a reasonable and necessary feature.

However, for ?> tags anywhere that aren't right at the end of the file, this is just a nuisance that makes for messy output. For example, HTML output that should look like:

<table>
    <tr>
       <td>foo</td>
       <td>bar</td>
    </tr>
</table>

May instead end up looking something like:

<table>    <tr>
       <td>foo</td>       <td>bar</td>
    </tr></table>

Of course, HTML doesn't matter so much, it'll render the same to the end-user. However, for outputting e.g. plain text, newlines can be significant, and so you have to insert an ugly and surprising extra newline following a tag.

Would anyone object to me changing how PHP handles this so that only the final ?> tag consumes its following newline, and only at the end of the file?

Thanks!

+1 to create a PHP8 branch and change the behavior there. not in PHP7.

Once again, some may think it's too early but, IMO, we should create such a branch and encourage RFCs and changes targeting next major version to be announced, discussed, implemented, and tested as soon as possible. This is the only way to introduce BC breaks while minimizing their impact. We saw this when talking about PHP7 features : when proposed too late, changes introducing BC breaks generally must be rejected, whatever their value.

Regards

François




--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to