Needs advice

From a StackShare Community member: “A client is requiring me to use PHP for a custom lead management app for internal use. Should I use a framework like Laravel/Symfony or just stick with the basics?”

2 upvotes·1.3K views
Replies (12)
Avatar of fengerzh
CTO at Qiban ·

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.

4 upvotes·62.5K views

I use Laravel because it has integrated unit testing that making TDD a breeze. Having a View (Blade engine) making me easier to work without too many efforts in front-end.

I do recommend going into the root of programming once getting stable on any framework. Go beyond Symfony, go beyond PHP, go into the roots to the mother of programming; c++, c, smalltalk, erlang OTP. Understand the fundamental principle of abstraction.

A framework is just a framework, it helps in getting feedback quickly; like practicing dancing in front of a mirror. Getting fundamentals right is the one true key in doing it right. Programming is not hard, but abstract-programming is extremely hard.

9 upvotes·2.3K views
View all (12)