> On 24 Apr 2019, at 22:16, Chase Peeler <chasepee...@gmail.com> wrote:
> 
> 
> 
> On Wed, Apr 24, 2019 at 11:02 AM Stephen Reay <php-li...@koalephant.com 
> <mailto:php-li...@koalephant.com>> wrote:
> 
> > On 24 Apr 2019, at 21:35, Chase Peeler <chasepee...@gmail.com 
> > <mailto:chasepee...@gmail.com>> wrote:
> > 
> > If I get started now, maybe I can have everything fixed by the time 8.1 is
> > released.
> 
> 
> Two characters less than this sentence of yours is a 1-liner find/sed script 
> to replace all `<? ` with `<?php `.
> Would you really feel confident doing a blind find/replace on 6,000+ 
> instances?

It’s hardly “blind”. This is what version control is for. You make a change, 
and then either view the diff locally, and/or commit/push it, and ask others to 
help review the diff.

I literally just ran the script referenced above on a client project, eyeballed 
the diff, and committed the changes it made to a branch. Once I’m not in the 
middle of anything I’ll review it again and then merge it.

> 
> what about <?if ... `<? ` wouldn't match that. I have instances of that in my 
> code, though.

So change the pattern to replace `<?` followed by anything except an equals 
sign.

> 
> What if I utilize a 3rd party library that, while no longer support, works 
> fine, but is now broken for no other reason than the fact that <? is no 
> longer supported? Whether I should be using that library or not is 
> irrelevant. The fact is, I am, and the fact that I won't be able to use it in 
> 8.0 is a barrier to me upgrading. 
> 

You do the same thing as if the library had a security issue or some other bug. 
If it’s unsupported, you have to support it, or you have to find a replacement. 
It’s not like you’re dealing with a compiled module that you can’t edit. Run 
the same fix for short tags on the library.

> I don't trust mass find/replace tools like php-cs-fixer. Some of our legacy 
> code is really ugly. Auto-formatting with PhpStorm will break it. I don't 
> mind using an interactive tool, but that means I have to sit there and hit Y 
> or N for 6,787 instances. Some of them will probably require me to actually 
> open the file up and check out the surrounding context as well. And, what 
> happens if I miss one? I run the risk of code leak.

If auto formatting ‘breaks’ your code, you have a bigger problem than short 
tags.

> 
> I think it's great that many of you have code bases that are in pretty good 
> shape and this change isn't going to have much of an impact on you. That's 
> not my case, though. It's not the case for a LOT of people. I'm not against 
> BC breaks - even major ones - if they are justified. I have yet to see any 
> good justifications for such a massive BC break. 
> 
> The fact is that this change WILL prevent a lot of people from being able to 
> upgrade to 8.0 in a timely manner. Anyone that has to justify spending time 
> to prepare for an upgrade to people that don't understand the benefits of the 
> upgrade will have an ever harder time trying to justify the extra time 
> necessary. I also think you are going to find a good number of people that 
> will upgrade (or use PHP for the first time) unaware of the change. They'll 
> attempt to load older code that has short tags in it. It won't work. They'll 
> say "screw it" and use python or node. 
> -- 
> Chase Peeler
> chasepee...@gmail.com <mailto:chasepee...@gmail.com>


Reply via email to