> <?= $whatever . PHP_EOL ?> or ."\n" Yeah, adding an explicit newline character is a workaround for this.
However, what if that output content were moved to a location other than the end of a line when editing the template? It would be necessary to remove the extra newline character each time they move from the end of a line. With this new closing tag, the behavior of the output block can be position-independent. Your concerns are valid and I agree that this is a small difference. What I am not sure about is how many people want this small difference, so I'm asking around in some parts of the community. Thanks for your feedback! -- Shinji Igarashi 2022年6月6日(月) 6:31 David Gebler <davidgeb...@gmail.com>: > > On Sun, Jun 5, 2022 at 9:24 AM shinji igarashi <s...@sj-i.dev> wrote: >> >> Hello everyone, >> >> I'd like to propose adding a new closing tag `=?>` to the language. >> >> PHP currently removes the newline character immediately following >> the closing tag `?>`. > > > Personal opinion, seems like a classic sledgehammer on a nut proposal. I > actually prefer the <?= $whatever . PHP_EOL ?> or ."\n" notation since it > makes it explicitly clear what you're intending to output and keeps it within > the control of the PHP code block. Alternatively it's also enough in the case > of plain text or wherever else this matters to you to just add a space after > the closing tag before the newline (granted there may be niche situations > where this is undesirable). > > It's not a breaking change for any existing code, at least, but for me I > still don't see enough of a benefit that I'd think it was worth adding to the > language, as any new syntax creates the potential for confusion and user > error. Is this a big enough problem to be worth any change at all? In over 15 > years of writing PHP, I've never once had a situation where closing tag > newline elision has been an issue. > > -Dave > >> >> >> With the new closing tag `=?>`, the code should look like this: >> >> ``` >> - <?= 1 =?> >> - <?= 2 =?> >> - <?= 3 =?> >> ``` >> >> and the results it produces would be: >> >> ``` >> - 1 >> - 2 >> - 3 >> ``` >> >> instead of the following: >> >> ``` >> - 1- 2- 3 >> ``` >> >> This addition requires only a one-line modification to the lexer and >> doesn't break BC. The proposed patch is here. >> https://github.com/php/php-src/pull/8708 >> >> Before writing an RFC, I would like to hear your input on whether >> it's worth tackling. >> >> Thanks! >> >> -- >> Shinji Igarashi >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: https://www.php.net/unsub.php >> -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php