Foros del Web » Programando para Internet » PHP » Symfony »

Mostrar valor por default de una ruta en el URL

Estas en el tema de Mostrar valor por default de una ruta en el URL en el foro de Symfony en Foros del Web. Que tal, ando iniciándome en symfony y tengo esta situación. Leo en la documentación que es posible en una ruta de anotación forzar a que ...
  #1 (permalink)  
Antiguo 10/11/2019, 18:24
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Mostrar valor por default de una ruta en el URL

Que tal, ando iniciándome en symfony y tengo esta situación.

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:
// 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>'
);
}

}
Así como está funciona sin problemas, si escribo en mi navegador:

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:
/**
* @Route("/blog/{!page}", name="blog_list")
*/
Marca el siguiente error:

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.

Etiquetas: default, ruta, url, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:41.