protected function RoutableFragmentRenderer::generateFragmentUri in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php \Symfony\Component\HttpKernel\Fragment\RoutableFragmentRenderer::generateFragmentUri()
Generates a fragment URI for a given controller.
Parameters
ControllerReference $reference A ControllerReference instance:
Request $request A Request instance:
bool $absolute Whether to generate an absolute URL or not:
bool $strict Whether to allow non-scalar attributes or not:
Return value
string A fragment URI
3 calls to RoutableFragmentRenderer::generateFragmentUri()
- AbstractSurrogateFragmentRenderer::generateSignedFragmentUri in vendor/
symfony/ http-kernel/ Fragment/ AbstractSurrogateFragmentRenderer.php - HIncludeFragmentRenderer::render in vendor/
symfony/ http-kernel/ Fragment/ HIncludeFragmentRenderer.php - Additional available options:
- InlineFragmentRenderer::render in vendor/
symfony/ http-kernel/ Fragment/ InlineFragmentRenderer.php - Additional available options:
File
- vendor/
symfony/ http-kernel/ Fragment/ RoutableFragmentRenderer.php, line 49
Class
- RoutableFragmentRenderer
- Adds the possibility to generate a fragment URI for a given Controller.
Namespace
Symfony\Component\HttpKernel\FragmentCode
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;
}