original_string: protected function generateFragmentUri(ControllerReference $reference, Request $request, $absolute = false, $strict = true)
      {
          if ($strict) {
              $this->checkNonScalar($reference->attributes);
          }
  
          // We need to forward the current _format and _locale values as we don't have
          // a proper routing pattern to do the job for us.
          // This makes things inconsistent if you switch from rendering a controller
          // to rendering a route if the route pattern does not contain the special
          // _format and _locale placeholders.
          if (!isset($reference->attributes['_format'])) {
              $reference->attributes['_format'] = $request->getRequestFormat();
          }
          if (!isset($reference->attributes['_locale'])) {
              $reference->attributes['_locale'] = $request->getLocale();
          }
  
          $reference->attributes['_controller'] = $reference->controller;
  
          $reference->query['_path'] = http_build_query($reference->attributes, '', '&');
  
          $path = $this->fragmentPath.'?'.http_build_query($reference->query, '', '&');
  
          if ($absolute) {
              return $request->getUriForPath($path);
          }
  
          return $request->getBaseUrl().$path;
      }
code: protected function generateFragmentUri(ControllerReference $reference, Request $request, $absolute = false, $strict = true)
      {
          if ($strict) {
              $this->checkNonScalar($reference->attributes);
          }
  
          // We need to forward the current _format and _locale values as we don't have
          // a proper routing pattern to do the job for us.
          // This makes things inconsistent if you switch from rendering a controller
          // to rendering a route if the route pattern does not contain the special
          // _format and _locale placeholders.
          if (!isset($reference->attributes['_format'])) {
              $reference->attributes['_format'] = $request->getRequestFormat();
          }
          if (!isset($reference->attributes['_locale'])) {
              $reference->attributes['_locale'] = $request->getLocale();
          }
  
          $reference->attributes['_controller'] = $reference->controller;
  
          $reference->query['_path'] = http_build_query($reference->attributes, '', '&');
  
          $path = $this->fragmentPath.'?'.http_build_query($reference->query, '', '&');
  
          if ($absolute) {
              return $request->getUriForPath($path);
          }
  
          return $request->getBaseUrl().$path;
      }
code_tokens: protected function generateFragmentUri ( ControllerReference $ reference , Request $ request , $ absolute = false , $ strict = true ) { if ( $ strict ) { $ this -> checkNonScalar ( $ reference -> attributes ) ; } // We need to forward the current _format and _locale values as we don't have // a proper routing pattern to do the job for us. // This makes things inconsistent if you switch from rendering a controller // to rendering a route if the route pattern does not contain the special // _format and _locale placeholders. if ( ! isset ( $ reference -> attributes [ '_format' ] ) ) { $ reference -> attributes [ '_format' ] = $ request -> getRequestFormat ( ) ; } if ( ! isset ( $ reference -> attributes [ '_locale' ] ) ) { $ reference -> attributes [ '_locale' ] = $ request -> getLocale ( ) ; } $ reference -> attributes [ '_controller' ] = $ reference -> controller ; $ reference -> query [ '_path' ] = http_build_query ( $ reference -> attributes , '' , '&' ) ; $ path = $ this -> fragmentPath . '?' . http_build_query ( $ reference -> query , '' , '&' ) ; if ( $ absolute ) { return $ request -> getUriForPath ( $ path ) ; } return $ request -> getBaseUrl ( ) . $ path ; }
docstring: Generates a fragment URI for a given controller.
  
  @param ControllerReference $reference A ControllerReference instance
  @param Request             $request   A Request instance
  @param bool                $absolute  Whether to generate an absolute URL or not
  @param bool                $strict    Whether to allow non-scalar attributes or not
  
  @return string A fragment URI
docstring_tokens: Generates a fragment URI for a given controller .