> > Yes, this is an expected result under the flexible heredoc RFC. To avoid
> > issues, please use a heredoc label that does not occur within the string.
>
> Hmkay, so code that worked fine with PHP 7.1 and PHP 7.2 breaks with PHP
> 7.3. This breaking change should at least be prominently documented. As of
> right now, I do not see such documentation in UPGRADING.

Wow, I can't believe I didn't think of this when I reviewed that RFC.

This is potentially a pretty serious BC break, really - at least in two cases:

1. Markdown, where indentation can be irregular as well as meaningful.

2. Failing tests!

The latter could prove rather difficult - getting your tests to pass
under 7.2 and 7.3+ might be far from simple, and at the very least
would require test-helpers that conditionally treat whitespace
differently for 7.3+ and earlier versions.

Even inline HTML could potentially suffer, if you have <pre> blocks.

And on top of these unexpected results and test-failures, of course
there may be parse errors for inline content with meaningful
whitespace that was (or wasn't) indented correctly.

Honestly, are there any cases where existing code *benefits* from
changing the existing syntax/feature?

Some people indent inline blocks so that the output ends up with the
desired indentation, rather than the source-code looking pretty - in
those cases, whitespace will now be silently removed and the output no
longer as desired?

Are we positive it wouldn't be safer to just introduce a slight syntax
variation for blocks that treat indentation differently?

(am I blowing this out of proportion?)

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

Reply via email to