public function setPath($pattern)
    {
        if (false !== strpbrk($pattern, '?<')) {
            $pattern = preg_replace_callback('#\{(\w++)(<.*?>)?(\?[^\}]*+)?\}#', function ($m) {
                if (isset($m[3][0])) {
                    $this->setDefault($m[1], '?' !== $m[3] ? substr($m[3], 1) : null);
                }
                if (isset($m[2][0])) {
                    $this->setRequirement($m[1], substr($m[2], 1, -1));
                }

                return '{'.$m[1].'}';
            }, $pattern);
        }

        // A pattern must start with a slash and must not have multiple slashes at the beginning because the
        // generated path for this route would be confused with a network path, e.g. '//domain.com/path'.
        $this->path = '/'.ltrim(trim($pattern), '/');
        $this->compiled = null;

        return $this;
    }
public function setPath($pattern)
    {
        if (false !== strpbrk($pattern, '?<')) {
            $pattern = preg_replace_callback('#\{(\w++)(<.*?>)?(\?[^\}]*+)?\}#', function ($m) {
                if (isset($m[3][0])) {
                    $this->setDefault($m[1], '?' !== $m[3] ? substr($m[3], 1) : null);
                }
                if (isset($m[2][0])) {
                    $this->setRequirement($m[1], substr($m[2], 1, -1));
                }

                return '{'.$m[1].'}';
            }, $pattern);
        }

        // A pattern must start with a slash and must not have multiple slashes at the beginning because the
        // generated path for this route would be confused with a network path, e.g. '//domain.com/path'.
        $this->path = '/'.ltrim(trim($pattern), '/');
        $this->compiled = null;

        return $this;
    }
public function setPath ( $ pattern ) { if ( false !== strpbrk ( $ pattern , '?<' ) ) { $ pattern = preg_replace_callback ( '#\{(\w++)(<.*?>)?(\?[^\}]*+)?\}#' , function ( $ m ) { if ( isset ( $ m [ 3 ] [ 0 ] ) ) { $ this -> setDefault ( $ m [ 1 ] , '?' !== $ m [ 3 ] ? substr ( $ m [ 3 ] , 1 ) : null ) ; } if ( isset ( $ m [ 2 ] [ 0 ] ) ) { $ this -> setRequirement ( $ m [ 1 ] , substr ( $ m [ 2 ] , 1 , - 1 ) ) ; } return '{' . $ m [ 1 ] . '}' ; } , $ pattern ) ; } // A pattern must start with a slash and must not have multiple slashes at the beginning because the // generated path for this route would be confused with a network path, e.g. '//domain.com/path'. $ this -> path = '/' . ltrim ( trim ( $ pattern ) , '/' ) ; $ this -> compiled = null ; return $ this ; }
Sets the pattern for the path.

This method implements a fluent interface.

@param string $pattern The path pattern

@return $this
Sets the pattern for the path .