original_string: 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;
      }
code: 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;
      }
code_tokens: 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 ; }
docstring: Sets the pattern for the path.
  
  This method implements a fluent interface.
  
  @param string $pattern The path pattern
  
  @return $this
docstring_tokens: Sets the pattern for the path .