Solved

Choosing the right PHP framework for web develpment

Posted on 2016-09-11
8
66 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 108

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 108

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
 

Author Comment

by:Harreni
ID: 41793472
Nice explanation.
Any books or videos specially to learn Laravel rather than website documentation?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 108

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 34

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 82

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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
These days socially coordinated efforts have turned into a critical requirement for enterprises.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

760 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now