Leo en la documentación que es posible en una ruta de anotación forzar a que el URL incluya el parámetro por default del método coincidente, según leí basta con poner el carácter ! antes del nombre del parámetro: /blog/{!page}
Tengo el siguiente código donde busco probar esta característica (tomado de la documentación de Symfony)
Cita:
Así como está funciona sin problemas, si escribo en mi navegador:// src/Controller/BlogController.php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class BlogController
{
/**
* @Route("/blog/{page}", name="blog_list")
*/
public function list(int $page = 1)
{
return new Response(
'<html></body>Lucky number: '.$page.'</body></html>'
);
}
}
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class BlogController
{
/**
* @Route("/blog/{page}", name="blog_list")
*/
public function list(int $page = 1)
{
return new Response(
'<html></body>Lucky number: '.$page.'</body></html>'
);
}
}
Imprime el valor, pero cuando intento forzar a que el URL muestre el valor por defecto haciendo justamente lo que menciona la documentación, poniéndole ! antes del nombre del parámetro en la ruta {!page} quedando a ruta de la siguiente forma:
Cita:
Marca el siguiente error: /**
* @Route("/blog/{!page}", name="blog_list")
*/
* @Route("/blog/{!page}", name="blog_list")
*/
No route found for "GET /blog"
NO se si estoy leyendo mal la documentación pero no ubico que estoy haciendo mal, agradezco cualquier ayuda.