By dawehner on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
10.1.x
Introduced in version:
10.1.0
Issue links:
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