Solved

Choosing the right PHP framework for web develpment

Posted on 2016-09-11
8
120 Views
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.
Harreni
0
Comment
Question by:Harreni
8 Comments
 
LVL 110

Accepted Solution

by:
Ray Paseur earned 300 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.
3
 

Author Comment

by:Harreni
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.
0
 
LVL 110

Assisted Solution

by:Ray Paseur
Ray Paseur earned 300 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.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

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

Assisted Solution

by:Ray Paseur
Ray Paseur earned 300 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.
0
 
LVL 35

Assisted Solution

by:gr8gonzo
gr8gonzo earned 100 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.
3
 
LVL 83

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 100 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.
1
 

Author Closing Comment

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

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
PHP encrypted string and passing to a ASP Page 12 36
window close link 7 32
Survey branching tutorial 11 36
Find RGB colors from a screen. 2 15
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Developer portfolios can be a bit of an enigma—how do you present yourself to employers without burying them in lines of code?  A modern portfolio is more than just work samples, it’s also a statement of how you work.
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

680 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