Los componentes de Symfony son un conjunto de librerías PHP reusables. Implementan características comunes para desarrollar aplicaciones en PHP. Se puede usar cualquiera de estas librerías en aplicaciones propias independientemente del framework Symfony, pues no tienen dependencias obligatorias.
Para instalarlos se puede utilizar composer:
composer require symfony/component
Lista de componentes:
- Asset: Gestiona la generación de URLs y el control de versiones de los assets como CSS, JavaScript e imágenes.
- BrowserKit: Simula el comportamiento de un navegador.
- ClassLoader: Carga las clases de tu proyecto automáticamente si siguen algunos de los estándares PHP.
- Config: Ayuda a encontrar, cargar, combinar, autorellenar y validar valores de configuración.
- Console: facilita la creación de interfaces de línea de comandos.
- CssSelector: convierte selectores CSS a expresiones XPath.
- Debug: proporciona herramientas para depurar fácilmente código PHP.
- DependencyInjection: permite estandarizar y centralizar la forma en que los objetos se construyen en tu aplicación.
- DomCrawler: facilita la navegación DOM para documentos HTML y XML.
- EventDispatcher: implementa el patrón Mediator de forma simple y efectiva para hacer proyectos extensibles.
- ExpressionLanguage: proporciona un motor que puede compilar y evaluar expresiones.
- FileSystem: proporciona utilidades básicas para el sistema de archivos.
- Finder: encuentra archivos y directorios con una interfaz intuitiva.
- Form: proporciona herramientas para crear, procesar y reusar formulatios HTML.
- HttpFoundation: define una forma orientada a objetos de manejar los mensajes HTTP.
- HttpKernel: proporciona los cimientos para crear frameworks HTTP-based.
- Intl: proporciona código para manejar los casos en los que falta la extensión intl.
- OptionsResolver: ayuda a configurar objetos con arrays de opciones.
- Process: ejecuta comandos en subprocesos.
- PropertyAccess: proporciona la funcionalidad de leer y escribir desde/a un objeto o array mediante un string.
- Routing: asigna una petición HTTP a un conjunto de variables de configuración.
- Security: proporciona una infraestructura para sistemas de autorización sofisticados.
- Serializer: convierte objetos en un formato específico (XML, JSON, YAML, ...) y viceversa.
- Stopwatch: proporciona una manera de perfilar código.
- Templating: proporciona las herramientas necesarias para construir cualquier tipo de sistema de plantillas.
- Translation: proporciona herramientas para internacionalizar tu aplicación.
- Validator: proporciona herramientas para validar clases.
- VarDumper: su objetivo es reemplazar la función _vardump() por una más moderna y sofisticada dump().
- Yaml: carga y vuelca archivos YAML.