forked from qwerty/milfs
32 lines
762 B
PHP
32 lines
762 B
PHP
|
<?php
|
||
|
|
||
|
namespace FastRoute\Dispatcher;
|
||
|
|
||
|
class GroupCountBased 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;
|
||
|
}
|
||
|
|
||
|
list($handler, $varNames) = $data['routeMap'][count($matches)];
|
||
|
|
||
|
$vars = [];
|
||
|
$i = 0;
|
||
|
foreach ($varNames as $varName) {
|
||
|
$vars[$varName] = $matches[++$i];
|
||
|
}
|
||
|
return [self::FOUND, $handler, $vars];
|
||
|
}
|
||
|
|
||
|
return [self::NOT_FOUND];
|
||
|
}
|
||
|
}
|