protected function RouteMatch::getParameterNames

protected RouteMatch::getParameterNames()

Returns the names of all parameters for the currently matched route.

Return value

array Route parameter names as both the keys and values.

File

core/lib/Drupal/Core/Routing/RouteMatch.php, line 143

Class

RouteMatch
Default object representing the results of routing.

Namespace

Drupal\Core\Routing

Code

protected function getParameterNames() {
  $names = array();
  if ($route = $this->getRouteObject()) {
    // Variables defined in path and host patterns are route parameters.
    $variables = $route->compile()->getVariables();
    $names = array_combine($variables, $variables);
    // Route defaults that do not start with a leading "_" are also
    // parameters, even if they are not included in path or host patterns.
    foreach ($route->getDefaults() as $name => $value) {
      if (!isset($names[$name]) && substr($name, 0, 1) !== '_') {
        $names[$name] = $name;
      }
    }
  }
  return $names;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Routing!RouteMatch.php/function/RouteMatch::getParameterNames/8.1.x