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;
    }
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;
    }
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 ; }
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
Generates a fragment URI for a given controller .