When comparing Yii vs Symfony, the Slant community recommends Yii for most people. In the question“What are the best backend web frameworks?” Yii is ranked 21st while Symfony is ranked 25th. The most important reason people chose Yii is:
Yii takes care of repetitive tasks through Gii, a web-based scaffolding tool. Gii takes care of code generation and creating code templates for: * Models * Controllers * Forms * Modules * Extensions * CRUD controller actions and views * There are a lot of scaffolding templates made by community for Gii, that improve generated code functionality by a lot. * Gii is very easy to extend yourself.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Rapid development through code scaffolding
Yii takes care of repetitive tasks through Gii, a web-based scaffolding tool. Gii takes care of code generation and creating code templates for:
- Models
- Controllers
- Forms
- Modules
- Extensions
- CRUD controller actions and views
- There are a lot of scaffolding templates made by community for Gii, that improve generated code functionality by a lot.
- Gii is very easy to extend yourself.
Pro Comes with important security standarts
Since security is a crucial part of any application, Yii comes with great security features out of the box to help developers create a secure and reliable application. These security features contain but are not restricted to:
- Input validation
- Output filtering
- Features against SQL injection
- Cross-site scripting prevention
Pro Highly extensible
Yii is built to be extremely extensible. Virtually every component of the framework can be extended programmatically. For example, if you want to add a unique id to your views, it's very easy to do:
namespace app\components;
class View extends yii\web\View {
public $bodyId;
/* Yii allows you to add magic getter methods by prefacing method names with "get" */
public function getBodyIdAttribute() {
return ($this->bodyId != '') ? 'id="' . $this->bodyId . '"' : '';
}
}
Pro Integrated with a testing framework
Yii makes use of Codeception, a great PHP testing framework that helps developers run their tests. They can be unit, functional or acceptance tests since Codeception supports them all.
Pro Lots of plugins available
Yii has about 2000 addons hosted on Yii's official website. These addons significantly decrease development time and increase the developer's efficiency.
Pro License
Yii is free and open source and is distributed under the BSD License.
Pro Strong community support
Yii has a strong and rather large community behind it. This is proven by the great number of blog posts, tutorials, guides and reviews on the Yii framework as well as the great number of extensions developed for it.
Pro Easy to install
Yii uses Composer to handle it's dependency installation. This is rather easy and not very time consuming, although it should be noted that Composer is very resource-intensive considering what it's job is. But that is not really Yii's fault.
Pro Best framework for CRUD operation
Yii Framework Provides most of features require for crud functionalities like GridView, Listview and DetailView (with jquery search and validation functions) by generating using GII.
Pro Highly extensible without effort
Pro Open Source
Symfony is open source and released under the MIT license.
Pro Easy debugging with a built-in debug toolbar
Symfony comes with a built-in toolbar that helps developers debug their applications during the development phase.
The toolbar is also extendable and new components, called panels can be added if needed to help with the debugging process.
Pro Great plugin ecosystem
One of the greatest strengths of Symfony is it's amazing and large plugin ecosystem, which comes as a result of it's large and dedicated community. Having a large number of plugins means less development time and more productivity.

Pro Highly active community
Symfony has one of the most active communities out of all the PHP frameworks. This is shown by the high number of commits made every day in the GitHub repo.
Pro Teaches you good practices
Symfony makes you be a better programmer. You have to deal with the latest object-oriented design patterns such as service-oriented architecture, dependency injection, interface abstraction, and so on.
Pro Uses YAML/XML/PHP/Annotation
Symfony makes use of XML, YAML or PHP annotations to create configurations in order to tell Doctrine on how properties of a certain class should be.
Pro Powerful event system
Symfony has a powerful built-in event system that allows you to add flexibility to applications and makes it easier to maintain the codebase down the road.
Pro Great templating engine
Uses Twig, which is a simple and easy to learn templating language that can also be used as a standalone engine, outside the framework.
Pro Uses Doctrine ORM
Symfony makes use of the Doctrine ORM to add an abstraction layer over the database in order to maintain flexibility without having unnecessary code duplication.
Cons
Con Can be hard for beginners
Since Yii requires developers to write code following certain rules, or in other words, it requires developers to follow the "Yii way of doing things" it can be hard for beginners to warm up to it and start using it right away.
Con Not very good at many to many relations
(but there is a good plugin, namely CAdvancedArBehavior extension to do this)
Con Settings
Too many configurations.
Con Very hard to install
Setting it up on webhost without a console is difficult.
Con Promotes bad development practices
Such as annotations via comments.
Con Doctrine ORM
Symfony Standard Edition, which is the most widely used distribution, comes integrated with Doctrine, the most resource hogging ORM library.
Con You need a lot of files to display a single page
For a simple hello world page you need about 5 files.
