private function isRouteMatchesPattern(array $route, array $pattern)
{
foreach ($route as $key => $value) {
if (!array_key_exists($key, $pattern)) {
continue;
}
if (is_array($value)) {
$value = implode(',', $value);
}
$regex = '#' . $pattern[$key] . '#';
return !!preg_match($regex, $value);
}
return true;
}