The Core Web Application Libraries provide a logger, database layer, and MVC framework for PHP. The code is available on GitHub along with 2 example projects.
When I built this site, I chose to start from scratch for several reasons. I could've thrown something together using any one of the open source content management systems, but I've been down that road before. Once you customize a popular CMS, it becomes an outright burden to keep up with security fixes and other updates. It's convenient to have so many features and plugins at your disposal, but having thousands of lines of unused/inapplicable code with frequent vulnerability fixes can leave you with an uneasy feeling about what's creeping into each release. Once you have multiple sites in that state, maintaining them starts to feel cumbersome or, worse, like a second job. Additionally, I wanted the freedom to use the code in any project I work on whether I retain ownership of the finished product or not.
I finally grew tired of typing the awkward PHP object operator. Learn how to create keyboard shortcuts for KDE and use my shortcuts for PHP as a starting point.
My preferred server-side language is PHP. It's powerful and flexible, but it's certainly not perfect. One of my pet peeves is the object operator (->). I've programmed in C++, so I can appreciate its heritage. It's simply not needed in this case, so it feels like overkill to have to repeatedly type such an awkward key combination. Why should I move my hand to the top row for one key and hold shift for another when a single dot would be perfect for the task? Is it solely a byproduct of the poor decision to use the dot for string concatenation? I finally got fed up enough to look for a solution.