Hi, i'm planning to develop a site using php. Need advice which framework is good. Pros and cons will be good. Thanks
| SitePoint Sponsor |
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?
Thanks



Based on your limited input, I would strongly suggest Joomla (if MVC is of importance) or Drupal if quick and dirty is acceptable.
Cheers,
Alex
The only constant in software is change itself
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.
Cheers,
Alex
The only constant in software is change itself
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..

Rémon - Hosting Advisor
Minimal Bookmarks Tree
My Google Chrome extension: browsing bookmarks made easy

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!

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![]()
Rémon - Hosting Advisor
Minimal Bookmarks Tree
My Google Chrome extension: browsing bookmarks made easy

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
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.
What about YII, Kohana, Cake PHP or Codeigniter? These are all php frameworks. Codeigniter is probabally easiest for beginners but I've been looking into using YII for my next project.




I used these frameworks (for kohana not the last version) and I liked more Yii.
@Michael Morris I am not sure you can say that Django and Rails are dominant frameworks while no one php framework isn't dominant. Django and Rails certainly have their competition in the framework departments they are just not as vocalized.
Pylons is one great example of a framework for Python that is better than Django in many ways. Rails 3 is also living proof that the Rails community has been changing as it incorporates tech from other frameworks and their methodologies so that it could keep its spot as the evangelized framework.
As for Php frameworks go, Symphony and CodeIgniter are simply the best. Zend is a mess to maintain and Cake is too cobbled together, although it is probably the most Rails-like.
But, if you don't mind a lack of documentation then Kohana's latest version is really, really good. It might be the best framework out there code for code.

I'd be interested to hear you elaborate on your framework evaluation.
Bookmarks