Recs.
Updated
SpecsUpdate
Pros
Pro Good performance (excluding c-compiled php frameworks)
F3 performs very well so it clearly won't be the bottleneck. See the latest TechEmpower benchmarks here.
If to exclude Yaf and Phalcon from the results (which are C-compiled extensions), then F3 ranks as the 2nd most performant PHP framework behind MicroMVC.
Actually, if to exclude Phalcon and Yaf, F3 performs best in 4 categories out of 6!
As you pointed it out, it performs particularly well in the "multiple queries" category, even better than the C-compiled extensions!
Pro Open source
Fat-Free Framework is free and open source and is released under the GNU Public License.
Pro Use your own classes
The idea of a PHP framework is that you can harness the code written by people at a higher and more competent level than yourself.
For instance, if writing code for a forum it's great if you can use a simple AUTH plugin to authenticate returning users. This is the case with fatfree & its a piece of cake; obviously you only want to write one head & one footer and use them with every main section of content (views) ; you can do this easy in routes by chain loading .
One other thing if you an write some basic Object Orientated PHP then you will want to try using your own classes ; put classes say even something trivial like Slug.php(for auto create of slug link for blogs) in Models/API autoload in a route and instantiating in index.php is as easy as this:
$slimy = new Slug();
$toSlug = $slimy->convertToSlug($theirTopicGotFromForm ); //$toSlug then is used by inserted in to database.
Pro Flexible routing engine
Routing is simple easy to use and can be stashed in a config file. There's a pragmatic feel to the whole design that is suited to the rapid development of prototype and test environments that can be modified and deployed at a later date. The fact that you use the routes from the command line is a useful feature.
Pro No canned coding/directory structure
Freedom to structure your projects' directories and codes as you wish.
F3 is a non-opinionated framework : you are entirely free to use the files/API/assets structure that you love.
Following a minimalistic approach, F3 tends to avoid adding code and structure that are not strictly necessary, while focusing on what really matters : coding your solution; actually you learn F3 while implementing/coding your project/webapp
Cons
Con Lack of tutorials for beginners
There is a fantastic user guide that explains all the functions, but there are very few updated tutorials (video or written) on the internet to teach a newbie how to build a functional application using F3.
Con Lack of video tutorials
While there is a great user guide, compared to other established PHP frameworks, there is a relative shortage of video and written step-by-step tutorials for newbies to learn this framework.
Con Default ORM is missing some features but there is RedBean PHP
The default ORM for this framework is missing some features such as joins. But it's important to keep in mind that it's a small plugin, only 23KB in size which still can be replaced with a larger ORM if needed.
An alternative is the drop-in f3-cortex ORM which is popular and supported by the community. It supports Joins and much more.
See here.
Con Backward incompatible within minor version
There are serious incompatibilities even between minor versions (eg. between 3.6.0 and 3.6.2). Developers exhibit complete lack of understanding what is versioning of product (and which changes should be integrated in which versions), which makes this framework unsuitable for serious work. Development is slow, stable versions are rare and not treated seriously.
Recommendations
Comments
Flagged Pros + Cons
Pro Easy to get started
After you download the framework it is very simple to get an app up and running very quickly. Makes it easy for newer PHP and web app developers to start using a MVC framework.
Con Default ORM doesn't support joins
The default ORM for this framework is missing some features such as joins. But it's important to keep in mind that it's a small plugin, only 23KB in size which still can be replaced with a larger ORM if needed.
An alternative the drop in f3-cortex ORM which is popular, and supported by the community, which supports Joins and much more.