Nuevo en Symfony 5.1: Mejoras en el enrutamiento
Symfony 5.1 incluirá mejoras muy importantes relacionadas con el enrutamiento, tales como la prioridad en las anotaciones de rutas y la configuración simplificada de rutas. En este artículo mostramos otras mejoras menores pero interesantes.
Añadido el atributo stateless
Las rutas ahora pueden definir una opción booleana llamada stateless
. Si es
true
, la ruta indica que no va a utilizar la sesión. Si la ruta acaba usando
la sesión, verás una excepción en el entorno de desarrollo y un mensaje de log
en producción:
// src/Controller/MainController.php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; class MainController extends AbstractController { /** * @Route("/", name="homepage", stateless=true) */ public function homepage() { // ... } }
Esta funcionalidad fue contribuida por Mathias Arlaud en el pull request #35732 y #35782.
Variables de entorno en las condiciones de la rutas
Las condiciones de las rutas definen expresiones lógicas que las rutas deben cumplir para poder ejecutarse. En Symfony 5.1, hemos mejorado las expresiones para que puedas incluir variables de entorno y cualquiera de los procesadores de variables de entorno definidos por Symfony:
/** * @Route("/new-feature", condition="env('bool:IS_FEATURE_ENABLED') === true") */ public function __invoke() { // esta ruta solo se ejecuta si el valor almacenado en la variable // de entorno IS_FEATURE_ENABLED es TRUE }
Esta funcionalidad fue contribuida por Ahmed Tailouloute en el pull request #35747.
Configuración más sencilla del contexto de la petición
NOTA: esta sección explicaba una funcionalidad de Symfony 5.1 que al final se reemplazó por esta otra funcionalidad antes del lanzamiento final de Symfony 5.1.
Fuente: New in Symfony 5.1: Routing improvements
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.