Introduction

Added in Symfony 4.1, inlined routing configuration allows us to define requirements and default values for route placeholders.

Syntax

use Symfony\Component\Routing\Annotation\Route;
 
class BlogController extends Controller
{
    /**
     * @Route("/blog/{page}", name="blog_list", requirements={"page"="\d+"}, defaults={"page"="1"})
     */
    public function list($page)
    {
        // ...
    }
}

is now

/**
 * @Route("/blog/{page<\d+>?1}", name="blog_list")
 */
public function list($page)
{
    // ...
}