PHP 5.3 introduced some major advancements in the PHP language, such as namespaces and closures. Without some of these new features, the architecture of a PHP framework is limited. This is why some developers consider frameworks written specifically for versions older than 5.3 “legacy” at this point. Some older PHP frameworks have been re-written to have support for some of these features, but not for all. This is because of backwards compatibility issues.
PHP frameworks fall into different categories. One way to categorize them is through their size and architecture. These can be categorized as microframeworks, package based or in full-stack frameworks.
Full-stack frameworks are built to be all inclusive and to help the developer with the development of every part of an application from the user interface to the data store and everything in-between. This is in contrast to microframeworks which are much smaller in size and scope and do not try to interfere in every aspect of a web application. They usually do one thing and they try to do it as good as possible.