$staticRouteMap
$staticRouteMap : array<mixed,mixed[]>
dispatch(string $httpMethod, string $uri) : array
Dispatches against the provided HTTP method verb and URI.
Returns array with one of the following formats:
[self::NOT_FOUND]
[self::METHOD_NOT_ALLOWED, ['GET', 'OTHER_ALLOWED_METHODS']]
[self::FOUND, $handler, ['varName' => 'value', ...]]
string | $httpMethod | |
string | $uri |
<?php
namespace FastRoute\Dispatcher;
class GroupPosBased extends RegexBasedAbstract
{
public function __construct($data)
{
list($this->staticRouteMap, $this->variableRouteData) = $data;
}
protected function dispatchVariableRoute($routeData, $uri)
{
foreach ($routeData as $data) {
if (!preg_match($data['regex'], $uri, $matches)) {
continue;
}
// find first non-empty match
for ($i = 1; '' === $matches[$i]; ++$i);
list($handler, $varNames) = $data['routeMap'][$i];
$vars = [];
foreach ($varNames as $varName) {
$vars[$varName] = $matches[$i++];
}
return [self::FOUND, $handler, $vars];
}
return [self::NOT_FOUND];
}
}