Exemples de déclaration de route

#[Route('/api/posts/{id}', methods: ['GET', 'HEAD'])]

#[Route( '/contact', name: 'contact',
condition: "context.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') matches '/firefox/i'",
// expressions can also include config parameters:
// condition: "request.headers.get('User-Agent') matches '%app.allowed_browsers%'"
)]

#[Route(
'/posts/{id}',
name: 'post_show',
// expressions can retrieve route parameter values using the "params" variable
condition: "params['id'] < 1000"
)]

// Controller (using an alias):
#[Route( '/posts/{id}', name: 'post_show',
condition: "service('route_checker').check(request)")]

use Symfony\Bundle\FrameworkBundle\Routing\Attribute\AsRoutingConditionService;
use Symfony\Component\HttpFoundation\Request;

#[AsRoutingConditionService(alias: 'route_checker')]
class RouteChecker
{
  public function check(Request $request): bool
  {
// ...
  }
}
Comments