Symfony is a full-stack framework, a library of cohesive classes written in PHP5 . Symfony provides an architecture, components and tools for developers to build complex web applications faster. Symfony help you to develop your applications @ early, low cost, secure scalable and maintain them easily .
Symfony was built in order to fulfill the following requirements:
- Easy to install and configure on most platforms (and guaranteed to work on standard *nix and Windows platforms)
- Database engine-independent
- Simple to use, in most cases, but still flexible enough to adapt to complex cases
- Based on the premise of convention over configuration–the developer needs to configure only the unconventional
- Compliant with most web best practices and design patterns
- Enterprise-ready–adaptable to existing information technology (IT) policies and architectures, and stable enough for long-term projects
- Very readable code, with phpDocumentor comments, for easy maintenance
- Easy to extend, allowing for integration with other vendor libraries
Automated Web Project Features
Most of the common features of web projects are automated within symfony, as follows:
- The built-in internationalization layer allows for both data and interface translation, as well as content localization.
- The presentation uses templates and layouts that can be built by HTML designers without any knowledge of the framework. Helpers reduce the amount of presentation code to write by encapsulating large portions of code in simple function calls.
- Forms support automated validation and repopulation, and this ensures a good quality of data in the database and a better user experience.
- Output escaping protects applications from attacks via corrupted data.
- The cache management features reduce bandwidth usage and server load.
- Authentication and credential features facilitate the creation of restricted sections and user security management.
- Routing and smart URLs make the page address part of the interface and search-engine friendly.
- Built-in e-mail and API management features allow web applications to go beyond the classic browser interactions.
- Lists are more user-friendly thanks to automated pagination, sorting, and filtering.
- Factories, plug-ins, and mixins provide a high level of extensibility.
Before you get started with symfony, you should understand a few basic concepts. OOP, ORM, RAD, DRY, KISS, TDD, YAML, Prototype , PROPEL, and PEAR