When comparing Symfony vs Silex, the Slant community recommends Symfony for most people. In the question“What are the best PHP frameworks?” Symfony is ranked 5th while Silex is ranked 14th. The most important reason people chose Symfony is:
Symfony is open source and released under the MIT license.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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.
Pro Built on top of Symfony components
The thing that makes Silex stand out from other PHP microframeworks is the fact that it's built using some of Symfony2's components. Making it quite powerful but still lightweight enough to be considered a true microframework.
Pro Open source
Silex is open source and is licensed under the MIT license.
Pro Simple and elegant DI container
Based on Pimple, Silex has a simple Dependency Injection container that consists of just one file and one class.
Pro Testable
Silex makes use of Symfony2's HttpKernel which is used to abstract requests and responses. This in turn, makes it very easy to test apps created with the framework.
Pro Extensible
By using Pimple, the Silex application extends the Pimple class, which in turn is nothing more than an implementation of the ArrayAccess interface that has been a part of PHP since version 5.0.
This makes it possible to use an instance of the Application class as if it were an array. Like so:
$app = new Silex\Application();
$app['config'] = new Config($config_path);
This gives developers a great deal of flexibility when injecting dependencies and when testing.
Cons
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.
Con Documentation is not very extensive
The documentation for this framework is average, it's helpful mostly. But it is not extensive enough to cover everything in detail unfortunately.