Very often our clients ask why we prefer Yii framework, rather than Zend, Symfony, CodeIgniter or CakePHP. In this post I will give you detailed answer. Jumping ahead of myself, I would say that most arguments are just our subjective opinion and we do not claim to any know-how.
Matter of taste
It may sounds unprofessional but our choice was primarily a matter of taste. If you will look through various posts on this topic you will find that most Yii adherents are also guided ultimately by same criteria.
You can compare thousand details of modern frameworks, run performance tests, but the final choice will be made in a favor of the one you simply liked more. This is due to the fact that most top-end framework are essentially identical. Of course they are different in certain features, file system structure, the naming convention, but they all provide almost same essential features: sandbox, MVC, ORM, code generator, cache, …
Yet what we like about Yii Framework?
Yii is an easy to understand framework. There are no excessive (say hello to Zend) and unnecessary complications. It’s core so well documented that it is often quicker and easier to check source code rather then search for documentation.
Yii provides opportunities for further enlargement and override of virtually any component in the framework. You can easily create custom components, change file structure etc.
Everything on its shelve
Basically everything you may need to start developing with the framework provided out of the box. Everything else you might need can be easily found in extensions. As the result your project do not have unused components.
Great documentation, growing community
It is about 700 extensions and it’s growing.
Why we don’t like Zend Framework?
Zend Framework is too academical sometimes even in the prejudice of practicality. Also I’m personally have a sharp apathy about the naming convention. If you’ll check Magento source code (ecommerce system based on Zend) it is easy to understand that the abstraction lever offered by this framework is extremely redundant. Zend Framework for us is primarily a set of first-class libraries that can be easily integrated in Yii.
Why not Symfony?
Symfony is great, progressive and no doubt cool framework! But it’s in the same time as the greatest virtue and a biggest flaw. We use it only for enterprise solutions.
Any why not CodeIgniter?
It is still based on PHP4. Talking about the list of examined frameworks CI probably takes last place.There is no even user-friendly templates system to support layouts out of the box.
Finally, why not CakePHP
CakePHP probably most similar framework to Yii. And it is hard to say something negative. Therefore, i would say that we simply like Yii documentation more.