..and when you try to extend this to something reasonably complex, including third party libraries and a database, you'll realize why people stopped writing PHP like this years ago.
The actually looks like a simple single controller action using a view model. Nothing really stops you from implementing other abstractions like ORMs, state machine, authentication, web service calls, etc.
I actually think you could build a relatively well organized large project with not much more than this really needed.
You could, but I suspect that inevitably you would wind up having written a framework to organize and manage that complexity, just an ad-hoc and poorly designed one.