Fat-Free vs PHP-MVC: What are the differences?
Fat-Free and PHP-MVC can be categorized as "Frameworks (Full Stack)" tools.
Fat-Free and PHP-MVC are both open source tools. Fat-Free with 2.3K GitHub stars and 443 forks on GitHub appears to be more popular than PHP-MVC with 1.25K GitHub stars and 494 GitHub forks.
What is Fat-Free?
What is PHP-MVC?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose PHP-MVC?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Fat-Free?
What are the cons of using PHP-MVC?
Sign up to get full access to all the companiesMake informed product decisions
Of all PHP frameworks, my best and only choice is Yii . Think of this: you have a MySQL database, it contains several tables. Now you want to setup a PHP-MVC site, firstly, you must create Models, Yii have a very handy tool called Gii, you can easily create model with Gii just by one click, Gii will read your database table columns and create PHP models automatically for you. Now you need Controller, still with Gii, it will automatically create all 4 php files for you with Insert/Delete/Update/Select even with Search function.
Well, now the most modern way is to have a RESTful API, that's even easier with Yii, you even don't need to care about all the columns, just 4 lines of code you can expose your database table as RESTful API with all GET/POST/PUT/DELETE support, even you change your database table columns, you don't need to change any PHP code.
For security, Yii have embedded authentication and RBAC support. For multi language, Yii have embedded i18n support, all with out-of-box. Just play with it, I bet you will love it.
This compact framework provided me flexibility. I can implement my own design pattern either MVC or something else. What caught my attention the most was its built-in ORM that can accommodate SQL and NoSql database. That means I can have my MongoSql and SQL queries written by those compatible raw sql statements but still creates ORM models the same way as nosql. Consider for example: $user=new DB\SQL\Mapper($db,'users');// for sql db $user=new DB\Mongo\Mapper($db,'users'); // for mongo db then $user = $user->load('id = 1');
Thanks to its high modularity, I can add more fat to my liking. There's also Cortex ORM f3 extension which handles join tables. Also, handles sessions, routing, and config with ease and let you organize them neatly. That's just a few of the handful features without much weight and with fast performance. One drawback is smaller community, but didn't disappoint me.