public function getArguments(string $uri, $callback = null): array
    {
        $values = [];
        $pattern = '/^' . $this->regex . '$/';
        preg_match_all($pattern, $uri, $matches);
        $matchCount = count($matches);
        for ($i = 1; $i < $matchCount; ++$i) {
            $values[] = (!is_null($callback))
                ? (new Callback($callback))->execute($matches[$i][0])
                : $matches[$i][0];
        }
        $arguments = [];
        $i = 0;
        foreach ($this->parameters as $parameter) {
            $arguments[$parameter] = $values[$i];
            ++$i;
        }
        return $arguments;
    }
public function getArguments(string $uri, $callback = null): array
    {
        $values = [];
        $pattern = '/^' . $this->regex . '$/';
        preg_match_all($pattern, $uri, $matches);
        $matchCount = count($matches);
        for ($i = 1; $i < $matchCount; ++$i) {
            $values[] = (!is_null($callback))
                ? (new Callback($callback))->execute($matches[$i][0])
                : $matches[$i][0];
        }
        $arguments = [];
        $i = 0;
        foreach ($this->parameters as $parameter) {
            $arguments[$parameter] = $values[$i];
            ++$i;
        }
        return $arguments;
    }
public function getArguments ( string $ uri , $ callback = null ) : array { $ values = [ ] ; $ pattern = '/^' . $ this -> regex . '$/' ; preg_match_all ( $ pattern , $ uri , $ matches ) ; $ matchCount = count ( $ matches ) ; for ( $ i = 1 ; $ i < $ matchCount ; ++ $ i ) { $ values [ ] = ( ! is_null ( $ callback ) ) ? ( new Callback ( $ callback ) ) -> execute ( $ matches [ $ i ] [ 0 ] ) : $ matches [ $ i ] [ 0 ] ; } $ arguments = [ ] ; $ i = 0 ; foreach ( $ this -> parameters as $ parameter ) { $ arguments [ $ parameter ] = $ values [ $ i ] ; ++ $ i ; } return $ arguments ; }
Retrieves all uri arguments matching the given uri.

@param string $uri
@param null $callback
@return array
Retrieves all uri arguments matching the given uri .