Change record status: 
Project: 
Introduced in branch: 
10.1.x
Introduced in version: 
10.1.0
Description: 

Both \Drupal\Core\Routing\RouteFilterInterface and \Drupal\Core\Routing\Enhancer\RouteEnhancerInterface have been replaced by their alternative in Symfony. As such, the Drupal overrides are no longer needed.

Route enhancers

Before


use Drupal\Core\Routing\Enhancer\RouteEnhancerInterface;


class MyRouteEnhancer implements RouteEnhancerInterface {
  public function applies(Route $route) {
    return $some_condition;
  }

  public function enhance(array $defaults, Request $request) {
    ... do something
  }
}

after


use Drupal\Core\Routing\EnhancerInterface;


class MyRouteEnhancer implements EnhancerInterface {

  public function enhance(array $defaults, Request $request) {
    $route = $defaults[RouteObjectInterface::ROUTE_OBJECT];
     if (!$some_condition) {
       return $defaults;
    }
    ... do something
  }
}

Route filters

Before


use Drupal\Core\Routing\Filter\RouteFilterInterface;


class MyRouteFilter implements RouteFilterInterface {
  public function applies(Route $route) {
    return $some_condition;
  }

  public function filter(RouteCollection $collection, Request $request) {
    foreach ($collection as $name => $route) {
      ... do something
    }
  }
}

after


use Drupal\Core\Routing\FilterInterface;


class MyRouteFilter implements FilterInterface {


  public function filter(RouteCollection $collection, Request $request) {
    foreach ($collection as $name => $route) {
     if (!$some_condition) {
      continue;
    }
    
      ... do something
    }
  }
}
Impacts: 
Module developers