La API estable de Symfony2 es un subconjunto de todos los métodos públicos de Symfony2 (tanto de los componentes como de los bundles) que comparten las siguientes propiedades:
- El espacio de nombres y el nombre de la clase no van a cambiar.
- El nombre del método no va a cambiar.
- La firma del método (sus argumentos y el valor de retorno) no va a cambiar.
- La semántica de lo que hace el método no va a cambiar.
Sin embargo, la propia implementación del método sí que puede cambiar. El único caso válido para un cambio en la API estable es el de corregir algún problema de seguridad.
Los métodos que pertenecen a la API estable están marcados con la anotación @api
. Por lo tanto, todos los métodos que no estén etiquetados con esa anotación, no pertenecen a la API estable.
Truco Los bundles desarrollados por terceros también deberían marcar claramente cuáles de sus métodos forman la API estable.
En la versión 2.1 de Symfony, los siguientes componentes tienen una API etiquetada como estable:
- BrowserKit
- ClassLoader
- Console
- CssSelector
- DependencyInjection
- DomCrawler
- EventDispatcher
- Filesystem
- Finder
- HttpFoundation
- HttpKernel
- Locale
- Process
- Routing
- Templating
- Translation
- Validator
- Yaml