php routing silex

php - Parámetros de ruta opcionales en Silex



silex documentation (1)

Simplemente configure el procesador para la URL más larga posible (con todas las partes, incluidas las opcionales), como esta:

$app->get(''/controller/{method}/{param}'', function($method, $param) { // called both by `/controller/some-method/some-param-string`, // `/controller/some-other-method`, and even `/controller` });

Por defecto, las cadenas vacías se asignan como valores de los parámetros que corresponden a las partes de URL omitidas. Pero puede anular esto explícitamente, como se describe en el documento :

$app->get(''/page/{pageName}'', function($pageName) { // ... })->value(''pageName'', ''index'');

Ahora, cuando se accede a /page , $pageName se establece en ''index'' .

He hecho algunas búsquedas y no puedo entender cómo tener un parámetro opcional en un segmento de URL en Silex. Así que tengo esta ruta actualmente:

/{controller}/{method}/{param}

El comodín param es lo que me gustaría que fuera opcional. Entonces este patrón recogería URLs como

"Controller1/Method1" and "Controller2/Method2/Param"

Sugerencias?