PHP Framworks !! Why , when and which ?

July 9, 2009 | In: php

Well!! I know it’s been a long time, but what to do so many things to do and I’m having hard time to maintain this blog these days.Hope I will be regular like I was before. Today, I’m going to talk about some of the popular MVC PHP frameworks. A few people has asked me what is CakePHP, or What is CodeIgniter? How to to use them ? When to use them ? Today, I’m going to talk about PHP frameworks which I’ve used. Please note that the choice of choosing a framework is personal preference and the statement and this post is not going to say that this framework is better than this framework.

What are the benefits of using MVC PHP frameworks ?

Well there are many benefits of using PHP frameworks, let’s see some of the main benefits of using them.

  1. They PHP frameworks follows some design pattern, so when you use these framework you’ve to follow their coding convention which makes your code clean and extensible for future purpose.
  2. The Popular PHP frameworks like CakePHP, CodeIgniter, Zend Framework , Symfony follows Model View Controller(MVC) design pattern which separates business logic from user interface making the code cleaner and extensible.
  3. As everybody can guess, these frameworks contains a lot of libraries to make your job easier. For example, to validate a from you don’t have write much code as you’ve to in normal coding scenario, just few lines of code calling the library might be enough for it.
  4. While working on a large project in a team, these MVC PHP framework will be a great tool for development as you can assign a developer to develop MVC part of a module for a developer and integration will be quite easy of these developed module at final level.
  5. These MVC framework will really helps you to develop the project rapidly, if you know one framework well then you’ll never worry about the project deadline.
  6. Most of these MVC frameworks uses clear url approach making your web project SEO friendly.

Furthermore, if you want charge money to visitors who download or access content of your website then this software is highly useful.

What are disadvantage of using MVC PHP frameworks?

A coin has two parts similarly a bright stuff always have dark part as well .

  1. Different framework have different coding convention, Depending upon the the framework, you’ll have to learn coding convention for the framework you want to follow. So depending upon the framework, it might to struggle at the beginning.
  2. While coding using these framework, sometime you’ll not find any library or helpers which might be useful for you so you’ll have to struggle bit at that time.
  3. If you don’t have OOP experience then PHP MVC framework are not you. First build a solid knowledge of OOP with PHP then only think about choosing any framework.
  4. PHP frameworks are not for the small projects from my point of view, because in a very simple project custom coding will work faster than setting up a framework.

Which framework should I choose?

This is the one of the most discussed question about the PHP framworks. So it depends upon particular person and project which framework will best suit for you. But depending upon my experience, I can show you some way to choose the framework.

  1. If you’re just want to use MVC framework for your next project, then I suggest you to go for CodeIgniter. It is very easy to learn and well-documented.Furthermore, it’s very flexible because it is not so strict on naming conventions etc. Furthermore, Model is optional while coding in codeIgniter so it is not necessary to use model for each controllers.
  2. If you’re coding architecture savvy, then I suggest you to go with CakePHP, probably the most popular PHP framework but I must admit. This framework’s coding style is similar to Ruby on Rails and naming conventions are strict in this framework.So if you’re working on a huge project in a team then this project will be the right choice for you.
  3. If you’ve to use a lot web services external APIs in your project then Zend Framework will be right choice for you, it contains huge libraries for external APIs compared to any other PHP MVC framework. The main benefits of this framework is that you can use them as components(without using MVC) in your project or you can follow Zend framework’s MVC architecture to develop your project. The other benefits of this framework is that you can use it inside any of the above two MVC frameworks. And, this framework one of the most favourite of people when I conducted the poll for the best PHP framework ?