I’ll start by telling you that I’m an old developer by most visible standards. When I started with PHP 3 after coming from Perl, register_globals was considered a good thing and articles online would tout how easy it was to deal with form vars because of it. Fast forward a bunch of years and the concept doesn’t even exist anymore. It’s much better for security of course; I’m just using it to point out how things change and progress.
For a time, I was finding myself without regular income, so I started looking around at the current programming world and was feeling very discouraged. I’ve churned out tens if not hundreds of thousands of lines of code over the years and feel very confident in my abilities to solve peoples’ problems, but it seemed with so many new things (and more new things every week), that I wouldn’t ever be able to keep up. It was depressing.
In the “modern PHP” world, everything is Frameworked, Composerified, Autoloaded, Injected, Inherited, etc. That’s a good thing overall, but it’s not everything that is PHP. The problem is that so much code still out there running the web sites of the world don’t use all, if any, of these things. And not every task that needs to be done needs to use them either.
Then I started reading more and saw that some of the really big names in PHP aren’t so super gung-ho on big frameworks for everything either. I like hearing Rasmus Lerdorf say that his favorite framework isn’t necessarily a framework at all, but whatever is the best tool to get the job done at the time. Cal Evans said something much along the same lines in an interview with 7php.com.
Most of what I’ve been doing for the past few years revolved around PHP apps that employed some OOP principals and design patterns, but not what you see today. I had to figure out what to do to get what I wanted with them. And I think that goes for a huge portion of the internet still. There are thousands of coding projects out there that need work done but there’s no budget for a ground up rewrite in Laravel or Symfony or Silex, etc. Instead, they need some modifications or additions to solve a particular problem.
The (potentially sad) reality is that there are millions of successful web sites on servers still using PHP older than 5.2 running hundreds of millions of lines of procedural code that’s not ready to be replaced quite yet. Somebody has to be there to support and help fix them. That somebody may be an up and coming junior programmer, but it may be an old fogey like me too, so don’t be quick to judge without knowing what you’re dealing with.