Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Choosing the right PHP framework for web develpment

Posted on 2016-09-11
Medium Priority
Last Modified: 2016-09-12
Hi Experts,

Through me searches regarding PHP development language, I Found a lot of frameworks like: Symfony, Laravel, CodeIgniter, CakePHP, FuelPHP, Drupal and Zend.

And my questions are:
- Why there are a lot of frameworks in PHP?
- How to choose the right framework for me? based on what?
- Are there any certification tracks (similar to .NET) the I can follow to get better knowledge and to prove my skills to my employer?
- Which version of PHP to use?

Thanks a lot.
Question by:Harreni
LVL 111

Accepted Solution

Ray Paseur earned 1200 total points
ID: 41793460
Why there are a lot of frameworks in PHP?
For the same reason there are lots of PHP developers.  It's free and open source, well documented.  And technology is always advancing.  Note that a "framework" is not the same as a "content management system."  A CMS might be implemented in a framework, but not the other way around.
How to choose the right framework for me? based on what?
Choose Laravel.   It's the best, period.
Are there any certification tracks (similar to .NET) the I can follow to get better knowledge and to prove my skills to my employer?
Laravel has recently announced something like this.  I signed up.  Have not seen any action yet.  The best way to showcase your skills is to write code and publish your application, open source, on Github.
Which version of PHP to use?
Use the most current.  You can find this information on the home page of PHP.net.  Look for "Download" in the upper right corner.

Author Comment

ID: 41793463
Thanks a lot Mr. Ray.

- I want to know why you make Laravel the best from your prospective? So, I can understand the key factors that you based on.
- Also, If I follow one framework and want to move to another later on, Do I need to start from the beginning.
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 1200 total points
ID: 41793468
To the second question, no, you don't need to start over at all.  Most of what you learn from any framework will be applicable to other frameworks.  The "big picture" things are all conceptually the same -- the design patterns all require a login system, some kind of filters for external data, a session handler, a database abstraction layer, etc.  It's how these things work, and how well they are implemented that make the difference.

I think Laravel is the best because I've used it, after using other frameworks and even writing my own framework.  I think if you just read the documentation you will understand.  It's as if the author(s) took the best design patterns and features of all the other frameworks, left the awkward and inconsistent things behind, and came up with a new, all-inclusive framework.  Laravel has a good population of helper tools, too.  Database migrations are one of these, and there are some other command-line tools that make development go very fast.

Perhaps the best thing about Laravel is the implementation of Ruby-like ideas in PHP.  PHP is a language that is full of configuration  options and numerous ways of getting to the same result.  Ruby, on the other hand, has just one or at most two ways of doing anything, favoring convention  over configuration.  This means there are fewer ways of doing things wrong.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.


Author Comment

ID: 41793472
Nice explanation.
Any books or videos specially to learn Laravel rather than website documentation?
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 1200 total points
ID: 41793494
There are some really good resources on Laracasts.com  Some of what Dayle Rees writes is pretty good, too.  But the best resource is still the Laravel docs.
LVL 36

Assisted Solution

gr8gonzo earned 400 total points
ID: 41793542
I'll play devil's advocate for a moment and say there's no single "best" framework to learn if you're simply looking to make yourself more employable / flexible.

If you're looking to build something from scratch and you're able to provide input on which framework to use, then Laravel may very well be your best choice, but you should also take your environment and circumstances into consideration.

For example, are you adding a new application into an existing environment that is filled with other apps that are all built with Symfony? If so, adding new frameworks can increase the management/maintenance efforts as well as increasing the security risk / surface area.

Are you working with a team who doesn't know much about any other framework except CodeIgniter?
If so, then be careful you don't push yourself out of the social aspect of the team by trying to force everyone to learn something new. Also, consider the risks of pushing people to use new frameworks - there's always a learning curve that can result in vulnerable or bad code.

Are you working on specific applications that have performance requirements? For example, while Laravel might be great in many ways, Phalcon will pretty much outperform any other framework simply because it's a compiled extension. That might be a requirement for smaller companies with lower hardware budgets.

If you're looking to make yourself more flexible/employable, then learning one framework will only help you if you're interviewing with a company who uses that framework already. Advertising specific frameworks on your resume can actually HARM your chances of getting picked for an interview, because if an employer DOES use a specific framework and you don't have it, then it can negatively impact how an employer views your experience (even though that doesn't make logical sense).

So if that's your goal, then your best bet (in my opinion) is to ramp up your general PHP experience and leave out any framework-specific experience. I've interviewed a few candidates who were actually novices in PHP but considered themselves "senior" because they used frameworks to build advanced applications. When I put them to the test, they either couldn't answer some basic questions (which looks really bad) or kept answering everything by starting with, "Well, in CakePHP, I would..."

Someone who excels at PHP in general can adapt to different frameworks and environments easily and will therefore be more employable and will be able to demonstrate their skills in more various ways.

Overall, I think the framework question largely depends on your goal and environment. If you're already at a company and looking to stay with them but push them in the right direction, then make sure you do your research on what they already use. There's often someone already there who has a preference and wants to stick with it because it's what they know. Trying to push the company in a different direction can put you at odds with that person, so just be mindful of the other people and technology you're working with.
LVL 84

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 400 total points
ID: 41793606
I don't use any frameworks.  Now almost all I do is support old PHP shopping cart code that wouldn't fit into any framework.  There is a lot of support work out there.  To do what I do, you would need to ignore frameworks and most 'pre-written' code and learn to do it all yourself.  'Bare-metal' PHP.

Author Closing Comment

ID: 41793856
Thank you so much for your help experts.
Your answers had clear my doubts.

Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ready to get certified? Check out some courses that help you prepare for third-party exams.
It’s a season to be thankful, and we’re thankful for users like you who engage on site, solve technology problems, and network with others in the industry. What tech are we most thankful for? Keep reading.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
The is a quite short video tutorial. In this video, I'm going to show you how to create self-host WordPress blog with free hosting service.
Suggested Courses

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question