And your example, codeigniter, is one of the worst examples in PHP.
Not only it is a framework that has minor usage: https://trends.google.com/trends/explore?q=codeigniter,larav...
It is infamous for being hard to upgrade. No responsible PHP developer would start a complex project in it today.
A typical PHP project in the last years use either Laravel or Symfony.
Not to mention PHP has mature tooling to perform automated code upgrade between versions: https://github.com/rectorphp/rector
The project I mentioned was 4 years old and so far no code change was required between PHP 7.2 and PHP 8.3.
And again, my parent was clearly talking about server upgrade: "was alway easier just to build a new server".
And the change I had to do was not even multiple lines, it was a single line in a Dockerfile. I found the Pull Request and it was from 7.4 to 8.3:
Saying Code Igniter is not used in a lot of places because of Google trends is wrong for a lot of reasons, but the biggest of which being your graph shows laravel and codeigniter neck and neck a decade ago. Who cares whether new projects are started in code igniter? PHP is mostly legacy apps, and there are other frameworks with similar nightmare stories.
Again, JS is bad too, but we have to completely rewrite sites due to some PHP framework upgrades because PHP let's people do really dumb ORM templating.
I have no idea what you're referring to with your distinction between tech debt and server upgrades. I'm talking about server upgrades, clearly. I'm just saying if you upgrade PHP on an old project chances are things will break. This happens with Laravel and Slim too.
PHP has nothing to do with ORM problems. Any language allows dumb stuff related to ORM. Those are the libraries rather than the language.
PHP, like any language, has good and bad libraries.
If a project uses a bad solution for ORM, the language is not to blame.
I can do dumb ORM stuff in C#, Java, Rust, C++ and Python.
If a project picked a bad framework 10 years ago and now complains about the language instead of the framework I don't know what to tell you.
The same goes for Node, which doesn't break servers just because you upgrade it. I have updated from 12 to 20 with no problems because of the dependencies.
> Again, JS is bad too, but we have to completely rewrite sites due to some PHP framework upgrades because PHP let's people do really dumb ORM templating.
I even quoted this part specifically in my reply:
> because PHP let's people do really dumb ORM templating.
You might have had a smooth experience, and happy for you. But PHP didn't have, maybe it does now, such a good version manager as NVM.
But yeah we also had once where all the way back where we didn't do it with NVM and that was a pain in the ass.
I upgraded PHP 7.2 to 8.3 for a business client yesterday.
It was a CentOS VM.
It took maybe 5 commands, no server restart involved either.
I could barely bill an hour and that is because I kept tail -f their logs to see if everything went smooth. And it did.
How is that painful?