Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 180
  • Last Modified:

Choosing the right PHP framework for web develpment

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
Harreni
Asked:
Harreni
5 Solutions
 
Ray PaseurCommented:
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
 
HarreniAuthor Commented:
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
 
Ray PaseurCommented:
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
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
HarreniAuthor Commented:
Nice explanation.
Any books or videos specially to learn Laravel rather than website documentation?
0
 
Ray PaseurCommented:
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
 
gr8gonzoConsultantCommented:
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
 
Dave BaldwinFixer of ProblemsCommented:
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
 
HarreniAuthor Commented:
Thank you so much for your help experts.
Your answers had clear my doubts.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now