With 28 years out in the wild, PHP has changed a lot over the years. And so has the way we write PHP applications. An application created today is virtually unrecognizable from an app made 20 years ago. What makes these apps different and why has there been so much change? How is a modern app structured, and why do new apps look so much different than old ones? This talk will discuss application flow, dependencies, file structure and more.


Comments are closed.

Very thorough and informative presentation! Some of your examples seemed to not necessarily follow your other examples - just made it a little difficult to reason through.

Wun Chiou at 13:42 on 4 Nov 2023

Good overview of the components of a modern PHP app. I liked the history part of the presentation; I've definitely written code like that back in the day. Some of the implementation presented was opinionated (e.g. single-actions vs. controllers or don't use nested routes), so I think you could have moved that end quote to earlier so as to better frame that.

Dan Moore at 13:56 on 4 Nov 2023

Crisp, smooth slides. Good answers for questions. Liked the warning about "opinions ahead".

Areas for improvement:
* answer q: how do you enforce rules around access, for example to keep the entity from being called directly by the controller? static tools, language rules etc?
* is there org structure beyond the app? what about infra config or stuff around deployment/config changes? database migrations?
* made a few points about libs being different than apps, but then the focus the rest of the talk was app organization. would have been interesting to learn more about lib organization principles.

Nice talk. Would be nice to see some examples of real projects in the wild that are set up this way.

Joseph Lavin at 14:02 on 4 Nov 2023

Fun trip down memory lane. It would have been nice to talk about some more about the cons/limitations of previous PHP versions. The challenges faced and how developers worked around them, and how that has influenced modern PHP.

Ralf Jahr at 14:07 on 4 Nov 2023

This was on the one side an always interesting story about PHP and on the other side we saw how a PHP application could be structured. But look at Symfony - you find there everything which was described here.

I would have expected more reasoning why things are put where, real world examples... Discussion of architectural patterns like hexagonal architecture, domain driven design, event sourcing, or at least event driven systems.

Ryan Marks at 15:57 on 4 Nov 2023

I appreciated the historical part. It would have been nice to talk about a an example project using the modern structure you proposed.