The Simple PHP Framework is a pragmatic approach to building websites with PHP 7.2+. It's geared towards web design shops and freelance programmers looking for a common foundation to quickly bring web projects to life. Without getting too technical, SPF follows the no-framework Framework method coined by Rasmus Lerdorf -- with a little Active Record thrown in for good measure.
Project History
This framework is the foundation that (almost) all of my websites are built with. I've been using this code base (or some form of it) since 2006 (yes, it's that old, but still works great) across hundreds of different projects - both personal and professional. It's served me well for the smallest of projects up to sites receiving millions of visitors per month. Less framework and more foundation, it provides a quick starting point and does a lot of the grunt work — user authentication, database calls, object lifecycle management, etc. It's exactly enough to get your project bootstrapped and moving forward quickly.
This framework wasn't built overnight or even on purpose. It's really a development pattern and collection of (useful) classes that have evolved naturally over the last thirteen years or so. I've tried to walk a fine line and not add unnecessary features that most people won't use. I've done my best to keep it as minimal as possible yet still allow plenty of flexibility.
The Simple PHP Framework is designed to help you build websites — not build them for you. There are plenty out there that already try to do that.
All the web frameworks in the world won't turn a shitty programmer into a good one." — uncov
A branch of the framework was forked internally at Yahoo! in 2008. Improvements from that branch made their way back into the main trunk as appropriate.
Download the Code
The Simple PHP Framework is hosted on GitHub
and licensed under the MIT Open Source License.
Documentation and Examples
As is the tradition with most open source software, the code is self-documenting — which is a nice way of saying I'm too lazy to write any formal documentation myself. That said, I'm always happy to answer questions about the code. You're also welcome to join our discussion group. There's not much activity, but if you ask a question you'll typically get an answer back quickly.
If you'd like to see a full website built using the framework, take a look at Shine. It's a good, (mostly) clean example of how to use the framework.