Modern PHP
I&#x27;ve probably written some version of this comment over dozen times throughout the years when discussion about PHP rears its head (note that I&#x27;m fond of PHP):<p>PHP as a <i>language</i> is... okay. It&#x27;s been modernized to include many of the faculties a developer would expect of a language in 2022. But honestly, I&#x27;m ready for the &quot;improvements&quot; to the language to stop. The closer you get to C# or Java the more obvious it is that PHP will <i>never catch up</i>! It&#x27;s not that it has to catch up, rather, that few people actually choose PHP <i>because</i> the language is so great. If you were choosing a your stack based on &quot;which language offers us the most features or highest ability to express our problem&quot; you wouldn&#x27;t be choosing PHP!<p>Here&#x27;s the secret: PHP is probably the best language for server side webdev because of the <i>runtime</i>! It&#x27;s so dead simple to develop and deploy PHP. I mean the language itself is basically a web framework right? How many other languages <i>automatically</i> parse an HTTP request and hand it to you by default? Or offer <i>built-in</i> templating semantics for composing HTML? Or have request routing by default? I don&#x27;t know of another one. <i>That&#x27;s</i> why I, and many others, choose PHP!<p>You know what I&#x27;d like to see? The trajectory of PHP&#x27;s development change to <i>lean in</i> to the above -- to focus development on improving the reasons why it is chosen in the first place! I don&#x27;t need a C# with slightly different syntax (or named parameters). I&#x27;d like:<p>- Improved templating semantics<p>- A better module system<p>- A way to bake routing into each file (overwriting the default semantics)<p>- Adding a built-in service-locator pattern&#x2F;DI<p>- A way to make PHP scripts more testable<p>What I&#x27;m saying is just make it a <i>better framework</i> by default. I know I know... &quot;Laravel this, Symfony that, have you heard of Slim?&quot;. Yes... I get it. There are community-made solutions to the above problems. And you know what? They won&#x27;t be as performant or integrated as if the runtime itself was upgraded to make them obsolete. It&#x27;s not like routing and DI are that complicated (the two most obvious reasons frameworks are employed).<p>I <i>like</i> that I can write a simple API in PHP without pulling in a single dependency! It makes so many things easier (the right things too). Now let&#x27;s just extend that to all of the basic facets a modern web framework offers!