thumbnail
Technology | 3 MIN READ

Choosing the right PHP framework for your Application

Choosing a framework is one of the most confusing parts in the initial stage of project development. Generally a development team chooses a framework, according to their experiences, comfort levels, framework popularity etc.

But, before choosing a framework there are many things to consider. The following are important criteria in choosing the right framework

  • Application Goal
  • Hosting Environment
  • Quality of the Development team
  • Fixes and Updates
  • Community
  • Security
  • Documentation
  • License
  • Testing

Application Goal

Goal of the application forms an important part in choosing the right framework. For example, if your goal is to develop an eCommerce site, you have to choose a framework which provides much-needed benefits like online payment processing, light weight, fast database connectivity etc.

The following are some of the sample application types which are suitable for each of the below frameworks

LaravelSymfonyCakePHPYiiCodeIgniter
Medium Scale PortalsLarge Scale PortalsMedium Scale PortalsMedium Scale PortalsMedium Scale Portals
eCommerceMobile web applicationsMobile web applicationseCommerceSimple dynamic web applications
Mobile web applicationsLight weight applicationsLight weight applications

Hosting Environment

There are many types of hosting environments like shared, individual, cloud etc. Many PHP frameworks require customization in the hosting environment. So, we need to choose the right framework, according to our hosting environment options.

LaravelSymfonyCakePHPYiiCodeIgniter
Needs some customizationNeeds some customizationNeeds some customisationNeeds some customisationNo need for customisation
Much suitable for shared hostingMuch suitable for shared hosting
Supports CLISupports CLISupports CLISupports Yii CLI

Quality of the Development team

It’s important to consider the strength and weakness of the developer(s) who are actually building and maintaining the application. Some frameworks are user-friendly and better for beginners. But some frameworks are strict in their coding standards.

LaravelSymfonyCakePHPYiiCodeIgniter
Suitable for beginnersSuitable for beginnersSuitable for beginners
Strict in coding standards and patternsStrict in coding standards and patterns

Fixes and Updates

Fixes and updates are important things, which help in maintaining a framework. Always try and choose a framework which is updated often and which is open about its bugs and fixes.

LaravelSymfonyCakePHPYiiCodeIgniter
ExcellentExcellentGoodOkOk

Community

If a framework is well recognized and popular, more support is available from its publishers, community members and service companies. If it has many applications or large community, we may have the provision to get many external libraries and packages as well.

LaravelSymfonyCakePHPYiiCodeIgniter
Good CommunityGood CommunityGood Community
Huge no of external packagesHuge no of external packagesComparatively less no of packages

Security

Web applications are potentially vulnerable. It is always better to select a framework which is capable of ensuring the security functions like XSS, Xsrf, Sql injection etc.

LaravelSymfonyCakePHPYiiCodeIgniter
GoodGoodGoodOkGood

Documentation

A good documentation is important to understand the framework, libraries and it’s plugins. So it is always good to evaluate the nature, volume and quality of existing framework documents.

LaravelSymfonyCakePHPYiiCodeIgniter
GoodExcellentExcellentOkOk

License

Licenses are important for web applications. If an application has been developed using a BSD-licensed framework, it will be subjected to BSD license only. We can’t use that application for other license purposes.

LaravelSymfonyCakePHPYiiCodeIgniter
MITMITMITBSDMIT

Testing

Testing is an important process in the development cycle. Frameworks which developers write unit tests are a definite advantage. Many of them provide the option to write test cases.

LaravelSymfonyCakePHPYiiCodeIgniter
GoodExcellentGoodGood




Leave a Reply

Your email address will not be published. Required fields are marked *

SHARE linkedin twitter