Symfony Framework is one of the best libraries of software functions and classes for web applications.
The Symfony Framework offers:
Well written and tested logic processes that are far better than provided in the Zend Framework in some cases. Zend is considered by some software evaluation sites as being among the best framework available, but Symfony has a lot of features that Zend does not have.
Time saving /tested modules such as Admin Generator. Admin Generator saves you time writing code since the required code is generated by Admin Generator. Editing of the code generated by Admin is an additional feature available to the programmer. High security features are inclusive in the Symfony Framework and are particularly beneficial for use in medium/large projects involving complex functionality and high traffic.
CMS ( Content Management System ) such as WordPress, Drupal or Joomla, might be better suited for smaller projects than Symfony although Symfony does offer a very useful tool, Apostrophe. Apostrophe is a CMS plugin, which is adapted for use with the Symfony Framework to save time in the web development of smaller projects. Symfony uses MVC (design pattern for the file structure) which allows your code to remain very well organized and understandable. For example, database queries are in one place. Logic and controllers are in another place while templates in third place. This arrangement gives more flexibility to the project, because it allow you to install some html & css framework like Foundation-Zurb for better usability, appearance and optimization.
Propel and Doctrine ORM
Another good and powerful feature of Symfony is having the ability to use two ORMs (Object Relational Mapping) Propel and Doctrine. Each are integrated into Symfony and it is much easier to work with tables which have been converted to objects and are available for immediate use. In this case your application will not depend on the type of database. Object Relational Mapping is a technique for converting data between incompatible type of systems in object-oriented programming languages. If you want to use MySQL, SQL, PostgreSQL, Oracle or another type of database, it is not relevant to Symfony and very easy you can transfer your application from one database type to another. These technologies also give a lot of flexibility and security in writing queries to the database and facilitate the process. They are very useful for the programmers.
Symfony CRUD Model Generator
Another big plus of the Symfony is to generate code files as previously mentioned (Admin Generator). There are three types of generating files. The first, which is used for the visible part of the site, is generating only the basic file structure of the module with basic class. Developers can write all the functionality that is needed for the application. The second is to generate the basic CRUD structure (this is the basic model, which contains the object creation, edit, delete, list and optional preview) of the module. This type of generation is pretty good, because it saves developers valuable time for basic functionality. Increases the speed for building an application and reduces cost used mainly in parts of the application which are visible and used by visitors. The code that is generated in this way is very well structured and optimized. If you compare this generation of CRUD module with other types of CMS structures, you will see a huge differences. CMS offers ready database structure and functionality while Symfony generates a module based on the specification, it is not ready at first. In this case when the customers has more specific and detailed things that CMS doesn’t cover with generation module of Symfony we can cover most of them. This is very flexible and useful. But the beauty and flexibility doesn’t end here.
Symfony Admin Generator
There is a third type of generating code that is specific only for the part of the site, which is for the administrators or the owner of the site and this is the admin generator. Here the things are much better developed and optimized. In most case, a specialist of Symfony Framework can generate the entire set of control panel system (backend) for a day or two based upon the required functionality. In very rare cases may require more time, but in these cases the project should be very large. In the generating module we have a file with name
'generator.yml' from where you can configure all module. You can easily add paging, sorting, add or remove fields in the list and form section, you can configure the filters fast and easy and etc. The code in this module is generated in the cache section and it is generated when someone is using the module and after closing the module the code is deleted and there is no physical file of the code. Everything is on fly. Thus part of the application (backend) is very secure and lightweight. And this feature makes Symfony very powerful and attractive!
Symfony Framework is very powerful library functions extremely useful for medium and large projects. Secure, flexible and able to generate a standard set of functionality specification. This greatly facilitate the work of the programmer and makes the project cheaper. Symfony is constantly evolving. Created new plugins that contribute to rapid configuration and implementation of non-standard functionality. Constantly making improvements to the library. We are extremely impressed by this framework and logic embedded in it. Strongly recommend it to other companies and clients with larger projects.
Bellow you can see what our colleagues are saying about Symfony!