PHP has come a long way since I started development some 15 years ago, and its frameworks are far from the small MVC framework I created back in 2008 to get my head fully around the concept. A lot of frameworks have fallen behind, unable to keep up with the rapidly changing climate, and those that have kept up with it polarise developers. It's easy to bash a framework, but what does it actually take to build a framework? I'm going to give it ago.
A framework is an abstraction that provides both basic and generic functionality so that developers may build ontop of it, without having to write all of the boilerplate code each time.