views:

355

answers:

7

Possible Duplicate:
What PHP framework would you choose for a new application and why?

Hello!

I'm going to create a serious web project. Until this time, I've been developing projects with Drupal, but I want to switch to a PHP framework. Which framework can you suggest and why? Scalability and performance are must. I was playing with: CodeIgniter, CakePHP, Kohana, Zend, Yii, but before I decide in which framework to invest my efforts I want to ask you. Please help.

A: 

If you have many forms and a heavy database Kohana is your friend!

antpaw
A: 

I've worked with Zend Framework and Codeigniter.

Zend is a robust framework that can handle large projects. Zend has great documentation.

Jeremiah
A: 

I would recommend the Zend Framework - it's been used for small, medium and large sized projects. There are lots of libraries available, most likely more than the other frameworks mentioned, it's gone through rigorous testing, and the documentation is great too.

If you have questions that aren't answered by the documentation you can ask here, mailing lists or freenode's #zftalk channel.

There have also been books catered toward it - packt publishing's "Zend Framework 1.8 Web Application Development" and apress's "Pro Zend Framework Techniques" are ones I'd recommend.

meder
+2  A: 

First of all, I am not sure there is a clear an definitive answer to that question...

There are already lots of questions and answers dealing about that ; you should read some, they'll probably get you some useful informations.

For instance :

And, more generally, a search on php+framework might get you interesting stuff ;-)


Now, what would I do / choose ?

Well, the framework I know the best is Zend Framework... So I think (at least, without knowing more about your project) thatI would go with Zend Framework.

Why ? Because the time required to learn a framework is important ; it might take a couple of weeks, or even more, to know a framework "quite well", and a couple of months to "master it"... So, if you already know a framework, starting from scratch with another one might not be a wise idea.


If you don't know any framework well (You say you "played" ; I don't know for how long)... Well, invest something like 2 weeks studying the most important ones, doing some small prototype : this is the best way to see what they can do, how they can help you work, and decide wisely ;-)

And do not do that alone : work with a colleague : being two to do that kind of stuff / take that kind of decision is always better : you can learn from each other, and confront your opinions!

Yes, it's long, yes it's a bit costly... But if it's a decision that will impact the next couple of years for you and/or your company, it is definitly worth investing some time before deciding, and not rushing that decision!

Pascal MARTIN
A: 

If performance is a key metric for you, then you might want to rule out Zend. There are many lighter frameworks that perform much better than Zend does, although Zend is probably the best suited to enterprise-level projects, as it is a bit more mature and robust.

I've used CodeIgniter for several projects, and while it doesn't blow me away, it does live up to it's claims of being lightweight and fast. It makes cranking out basic pages and small dynamic applications quite simple. I don't love all the PHP4-compatible stuff they have in there, as they junk up instances of Model classes with a bunch of extraneous fields in order to support it. But it's got good documentation and an easy learning curve, and I would recommend it to get up and running with something quickly.

zombat
A: 

Symfone, it uses Propel or Doctrine as the ORM (object relational mapper) to create your DB layer. Helps a lot if your project is data heavy and Symfone is database agnostic. Don't think to much and just use it.

Clutch
A: 

I love CakePHP, however it's really oriented towards conventions lol... My biggest complaint with it was that overriding default settings for Models (I had an ugly legacy DB) was a pain in the rear!

Also, CakePHP really is trying to be Ruby on Rails for PHP, so in terms of ease of use it's pretty good. It's extremely rich in features, however I would say that if your a great programmer and not worried with it being the easiest yet robust then I'd go with Zend Framework for sure.

Joshua