public function matchesUri($uri)
    {
        $regexUri = $this->uri;

        foreach ($this->getUriParameters() as $uriParameter) {
            $matchPattern = $uriParameter->getMatchPattern();
            if ('^' === $matchPattern[0]) {
                $matchPattern = \substr($matchPattern, 1);
            }

            if ('$' === \substr($matchPattern, -1)) {
                $matchPattern = \substr($matchPattern, 0, -1);
            }

            $regexUri = \str_replace(
                '/{' . $uriParameter->getKey() . '}',
                '/' . $matchPattern,
                $regexUri
            );

            $regexUri = \str_replace(
                '/~{' . $uriParameter->getKey() . '}',
                '/((' . $matchPattern . ')|())',
                $regexUri
            );
        }

        $regexUri = \preg_replace('/\/{.*}/U', '\/([^/]+)', $regexUri);
        $regexUri = \preg_replace('/\/~{.*}/U', '\/([^/]*)', $regexUri);
        // начало и конец регулярки - символ, который гарантированно не встретится
        $regexUri = \chr(128) . '^' . $regexUri . '$' . \chr(128);

        return (bool) \preg_match($regexUri, $uri);
    }
public function matchesUri($uri)
    {
        $regexUri = $this->uri;

        foreach ($this->getUriParameters() as $uriParameter) {
            $matchPattern = $uriParameter->getMatchPattern();
            if ('^' === $matchPattern[0]) {
                $matchPattern = \substr($matchPattern, 1);
            }

            if ('$' === \substr($matchPattern, -1)) {
                $matchPattern = \substr($matchPattern, 0, -1);
            }

            $regexUri = \str_replace(
                '/{' . $uriParameter->getKey() . '}',
                '/' . $matchPattern,
                $regexUri
            );

            $regexUri = \str_replace(
                '/~{' . $uriParameter->getKey() . '}',
                '/((' . $matchPattern . ')|())',
                $regexUri
            );
        }

        $regexUri = \preg_replace('/\/{.*}/U', '\/([^/]+)', $regexUri);
        $regexUri = \preg_replace('/\/~{.*}/U', '\/([^/]*)', $regexUri);
        // начало и конец регулярки - символ, который гарантированно не встретится
        $regexUri = \chr(128) . '^' . $regexUri . '$' . \chr(128);

        return (bool) \preg_match($regexUri, $uri);
    }
public function matchesUri ( $ uri ) { $ regexUri = $ this -> uri ; foreach ( $ this -> getUriParameters ( ) as $ uriParameter ) { $ matchPattern = $ uriParameter -> getMatchPattern ( ) ; if ( '^' === $ matchPattern [ 0 ] ) { $ matchPattern = \ substr ( $ matchPattern , 1 ) ; } if ( '$' === \ substr ( $ matchPattern , - 1 ) ) { $ matchPattern = \ substr ( $ matchPattern , 0 , - 1 ) ; } $ regexUri = \ str_replace ( '/{' . $ uriParameter -> getKey ( ) . '}' , '/' . $ matchPattern , $ regexUri ) ; $ regexUri = \ str_replace ( '/~{' . $ uriParameter -> getKey ( ) . '}' , '/((' . $ matchPattern . ')|())' , $ regexUri ) ; } $ regexUri = \ preg_replace ( '/\/{.*}/U' , '\/([^/]+)' , $ regexUri ) ; $ regexUri = \ preg_replace ( '/\/~{.*}/U' , '\/([^/]*)' , $ regexUri ) ; // начало и конец регулярки - символ, который гарантированно не встретится $ regexUri = \ chr ( 128 ) . '^' . $ regexUri . '$' . \ chr ( 128 ) ; return ( bool ) \ preg_match ( $ regexUri , $ uri ) ; }
Does a uri match this resource

@param string $uri

@return bool
Does a uri match this resource