Symfony 2.4 : nouveau composant, Expression Language, et autres nouveautés
06/01/2014
Une nouvelle version du framework open source édité par SensioLabs est sortie en décembre. Le point sur l'essentiel des nouvelles fonctionnalités.
La fonctionnalité-clé de cette version est la mise en place de l’Expression Language, qui permet d’évaluer des règles : très utile pour définir des règles de gestion d’accès, des politiques de cache, des règles de routing, de la validation de données ou un moteur de règle business (gestion de promotions, règle de livraisons…).
En outre, Symfony 2.4 apporte de nombreuses nouveautés dans les composants suivants :
Firewall and Security
Simplification de la mise en place de l’authentification simple
Gestion du hostname dans le Firewall
Twig
Chronomètre/Stopwatch pour l’affichage dans Twig via une fonction dédiée
Debug
Amélioration de la gestion des erreurs pour l’utilisation de classes ou de fonctions manquantes.
Ajout du Referrer dans le message d’exception NotFoundHttpException (erreur 404)
Accès rapide au profiler quand on travaille sur une API
DomCrawler
Support des formulaires en HTML 5
Schema-relative URL
Auto Découverte des namespaces avec DomCrawler
Console
Possibilité d’afficher les logs dans la console
Affichage compact pour le TableHelper, gestion sémantique de la verbosité
Possibilité de définir la dimension du terminal
Meilleure intégration de la console avec des outils tiers
HttpFoundation
Définition de constantes pour les codes HTTP
Possibilité de temporiser les écritures des metadata de session
Accès à la request Stack et possibilité de remonter à la master request dans le cas d’une sub-request
Config
Affichage de la configuration par défaut pour une extension dans différents formats : yml et xml
Process
Limiter dans le temps l’exécution d’un processus
Possibilité de purger stdout et stderr dans le cas d’une sortie incrémentale
Form
Un très utile écran de débug pour les formulaires
Validator
Simplification des callbacks de contrainte, utile pour la validation de données par exemple
Amélioration de la validation des images : ratio de l’image, format de l’image.
Même si la version 2.4 est entièrement rétro-compatible avec la version 2.3 (Long Term Support), de nombreux projets ne migreront pas vers cette nouvelle version afin de continuer à bénéficier du support long terme.