function RequestFormatRouteFilter::getAvailableFormats
Same name in other branches
- 9 core/lib/Drupal/Core/Routing/RequestFormatRouteFilter.php \Drupal\Core\Routing\RequestFormatRouteFilter::getAvailableFormats()
- 10 core/lib/Drupal/Core/Routing/RequestFormatRouteFilter.php \Drupal\Core\Routing\RequestFormatRouteFilter::getAvailableFormats()
- 11.x core/lib/Drupal/Core/Routing/RequestFormatRouteFilter.php \Drupal\Core\Routing\RequestFormatRouteFilter::getAvailableFormats()
Gets the set of formats across all routes in the collection.
Parameters
\Symfony\Component\Routing\RouteCollection $collection: The route collection to filter.
Return value
string[] All available formats.
3 calls to RequestFormatRouteFilter::getAvailableFormats()
- EarlyFormatSetter::filter in core/
modules/ jsonapi/ src/ Routing/ EarlyFormatSetter.php - RequestFormatRouteFilter::filter in core/
lib/ Drupal/ Core/ Routing/ RequestFormatRouteFilter.php - RequestFormatRouteFilter::getDefaultFormat in core/
lib/ Drupal/ Core/ Routing/ RequestFormatRouteFilter.php - Determines the default request format.
File
-
core/
lib/ Drupal/ Core/ Routing/ RequestFormatRouteFilter.php, line 111
Class
- RequestFormatRouteFilter
- Provides a route filter, which filters by the request format.
Namespace
Drupal\Core\RoutingCode
protected static function getAvailableFormats(RouteCollection $collection) {
$all_formats = array_reduce($collection->all(), function (array $carry, Route $route) {
// Routes without a '_format' requirement are assumed to require HTML.
$route_formats = !$route->hasRequirement('_format') ? [
'html',
] : explode('|', $route->getRequirement('_format'));
return array_merge($carry, $route_formats);
}, []);
return array_unique(array_filter($all_formats));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.