Master Symfony2 fundamentals

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Discover the SensioLabs Support

Access to the SensioLabs Competency Center for an exclusive and tailor-made support on Symfony
sensiolabs.com

Beside being a full-stack framework, Symfony is also a set of decoupled and standalone components.


What is a Component?

Symfony Components implement common features needed to develop websites. They are the foundation of the Symfony full-stack framework, but they can also be used standalone even if you don't use the framework as they don't have any mandatory dependencies.

Installation

You can install each component in many different ways:

  • Recommended Install it via Composer (symfony/dashed-component-name on Packagist).
  • Use the official Git repository (https://github.com/symfony/CamelCaseComponentName);
  • Obsolete Install it via PEAR (pear.symfony.com/CamelCaseComponentName);

For instance, to install the HttpFoundation component:

With Composer

{
    "require": {
        "symfony/http-foundation": "2.4.*"
    }
}

With Git

git clone --branch 2.4 https://github.com/symfony/HttpFoundation vendor/

With PEAR

pear channel-discover pear.symfony.com
pear install symfony2/HttpFoundation

The Components

Component Description Code Documentation
BrowserKit Simulates the behavior of a web browser. Code  
ClassLoader Loads your project classes automatically if they follow some standard PHP conventions. Code Documentation
Config Helps you find, load, combine, autofill and validate configuration values. Code Documentation
Console Eases the creation of beautiful and testable command line interfaces. Code Documentation
CssSelector Converts CSS selectors to XPath expressions. Code Documentation
Debug Provides tools to ease debugging PHP code. Code Documentation
DependencyInjection Allows you to standardize and centralize the way objects are constructed in your application. Code Documentation
DomCrawler Eases DOM navigation for HTML and XML documents. Code Documentation
EventDispatcher Implements the Mediator pattern in a simple and effective way to make projects truly extensible. Code Documentation
ExpressionLanguage Provides an engine that can compile and evaluate expressions. Code  
Filesystem Provides basic utilities for the filesystem. Code Documentation
Finder Finds files and directories via an intuitive fluent interface. Code Documentation
Form Provides tools to easy creating, processing and reusing HTML forms. Code Documentation
HttpFoundation Defines an object-oriented layer for the HTTP specification. Code Documentation
HttpKernel Provides the building blocks to create flexible and fast HTTP-based frameworks. Code Documentation
Locale Provides fallback code to handle cases when the intl extension is missing. This component is deprecated since 2.3, use the Intl component instead. Code Documentation
Intl Provides fallback code to handle cases when the intl extension is missing. Code Documentation
Icu Contains the data of the ICU library in a specific version. Use it through the API of the Intl component. Code  
OptionsResolver Helps you configuring objects with option arrays. Code Documentation
Process Executes commands in sub-processes. Code Documentation
PropertyAccess Provides function to read and write from/to an object or array using a simple string notation. Code Documentation
Routing Maps an HTTP request to a set of configuration variables. Code Documentation
Security Provides an infrastructure for sophisticated authorization systems. Code Documentation
Serializer Turns objects into a specific format (XML, JSON, Yaml, ...) and the other way around. Code Documentation
Stopwatch Provides a way to profile code. Code Documentation
Templating Provides all the tools needed to build any kind of template system. Code Documentation
Translation Provides tools to internationalize your application. Code  
Validator Provides tools to validate classes. Code  
Yaml Loads and dumps YAML files. Code Documentation