Which php framework is recommended?

Hi, i’m planning to develop a site using php. Need advice which framework is good. Pros and cons will be good. Thanks

Different frameworks are designed for different purposes. Some try to turn PHP into Ruby (Cake, to a lesser extent Symphony), others are very generic and can be applied in a lot of different scenarios (Zend). Some are very specialized (Joomla or Drupal’s internal frameworks). Some are loosely coupled, meaning you can port their pieces to other projects easily, while others are strongly coupled, meaning their pieces and components don’t work (or work well or easily) individually.

So without knowing what you are going to do any recommendations aren’t going to be useful. There’s no ‘one size fits all’ shoe.

Hi Michael,

I plan to develop a site that have MVC architecture (joomla like) but it’s business application, so that i can install my plugin, module and etc. In this case, which framework you will recommend?


Based on your limited input, I would strongly suggest Joomla (if MVC is of importance) or Drupal if quick and dirty is acceptable.


The web apps that plan to develop will be like zoho. I’m not sure joomla can be applied. As far as i understand, joomla is like a CMS and not a php framework.

Joomla’s CMS sits on a custom MVC layer. It is possible to use that layer without the CMS layer.

Joomla has a nice component architecture which allows you to add or remove components, probably even the CMS portion of it if really desired - might cause issues though.


what php framework you recommend? To develop business application like zoho?

I do not have experience with joomla or drupal but I have this question.
If you will extend drupal or joomla, is not ( your application) be faster if you use a framework like yii for example having just the things that you want as you want them even with joomla for example some things will be ready?
If you will not use drupal or joomla maybe you will look at yiiframework.com

smarty i recommend…

Smarty is not a PHP framework, it’s a templating engine.

In a nutshell

For enterprise level apps (like the one you describe) use Zend or Symfony. The former is more flexible, has good documentation, but can require a lot of configuration - the latter has some really nice components, but again needs a fair bit of configuration and can be quite slow.

For simpler apps - use CodeIgniter or CakePHP - personally I don’t like Cake, it has some nice features but has too much magic for my tastes. CodeIgniter has excellent documentation and it’s huge community is a great resource for troubleshooting.

There are other frameworks to consider - but I only have experience with these.

Personally, given your requirements, I’d go with Zend

Hi sunwukung, thank you so much for your experiences and tips. It’s really help to make decision. Thanks again!

:rolleyes: smarty is the worst possible thing you can do to yourself or your code. I’ve ranted on it before so I’ll leave it at that. :nono:

And an extremely poor bug ridden one at that.

I’ve to agree with Michael on the topic of Smarty - avoid it at ALL costs. I won’t rant on it, I could write a whole page about why it’s bad, from concepts to execution.

+1 for the Smarty hating - I can’t stand it, what’s the point of learning a sub-standard imitation of what is already an arguably ropey language! Just check out the job boards, they’re positively screaming for folks with Smarty skills…

Although a good bashing is very nice every now and then and I don’t want to spoil the fun, but can we please drop the smarty thing and continue talking about frameworks? Thanks :slight_smile:

I don’t think PHP has a great framework, like dJango for python or Rails for Ruby. If it did I’d expect to see wider acceptance. Instead there are far more PHP frameworks than any other language and each one has its niche. I hope to see mine enter the fray this fall, and it’s niche will be instruction. An instructive framework for novice to intermediate programmers to illustrate the concepts of MVC clearly. I’m personally taking clarity of code as the first concern - both in docs and in the code itself. It remains to be seen if I’ll be successful.

The great part of this is that PHP has a wider variety of framework choice than any other language.

The terrible part of this is that PHP has a wider variety of framework choice than any other language.


It’s easy to get overwhelmed by the choices and until you’ve done the large project easier still to get confused. That’s why I think Gazelle (my framework project) has a niche waiting for it. I don’t expect it to be the framework anyone deploys enterprise aps on like Zend or Symphony - but I do expect it to prepare programmers for the task of evaluating and choosing frameworks based on their needs.

Fall? Hurry up already, we’re waiting :slight_smile:
Seriously though, I’m looking forward to trying your framework.

@inblues: I just took a look at Zoho, it seems like a huge project to build something similar. I’d steer away from Joomla for this, and I’d like to suggest one of the more lower level frameworks such as Zend/ Symphony et al.

Be aware that building something like zoho, with all it’s applications etc. will probably require a lot of custom work.