Symfony Components

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.6.*"
    }
}

With Git

$ git clone --branch 2.6 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 Documentation
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
Icu Contains the data of the ICU library in a specific version. This component is deprecated since October 2014, use the Intl component instead. Code -
Intl Provides fallback code to handle cases when the intl extension is missing. 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
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 Documentation
Validator Provides tools to validate classes. Code -
Yaml Loads and dumps YAML files. Code Documentation