With PHP, we had a few choices. We could develop the application using CakePHP, CodeIgniter, Yii or Kohana, frameworks I have had much experience in.
We ended up using CakePHP by writing up pros and cons for CakePHP and CodeIgniter. Yii and Kohana would have been very fine options but my project partner has little experience with them.
Here's a list of what we had:
- ( - ) Slow
- ( + ) Built in themes
- ( + ) Rails-like relationships
- ( + ) Better Integration with Testing Suite(PHPUnit)
- ( +/- ) Convention over Configuration
- ( + ) Harder to mess up code because of stricter conventions
- ( + ) Solid performance from the start
- ( - ) No built in themes
- ( - ) No ORM
- ( - ) Built in Unit Test Class is weak
- ( - ) Can potentially become hard to manage
- ( +/- ) Configuration over Convention (somehow)
The CakePHP and CodeIgniter frameworks are great. I've used both extensively (especially CodeIgniter). The thing is, in the end, we didn't choose because of the pros and cons(although CakePHP won). It will be team experience that will affect the framework decision. Only I had experience developing using the CodeIgniter framework, so we chose CakePHP.
Haha. Problem solved!