Source of file RoutableFragmentRenderer.php
Size: 1,768 Bytes - Last Modified: 2013-07-17T08:22:21+02:00
/home/theseer/Downloads/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Fragment; use Symfony\Component\HttpKernel\Controller\ControllerReference; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\EventListener\FragmentListener; /** * Adds the possibility to generate a fragment URI for a given Controller. * * @author Fabien Potencier <fabien@symfony.com> */ abstract class RoutableFragmentRenderer implements FragmentRendererInterface { private $fragmentPath = '/_fragment'; /** * Sets the fragment path that triggers the fragment listener. * * @param string $path The path * * @see FragmentListener */ public function setFragmentPath($path) { $this->fragmentPath = $path; } /** * Generates a fragment URI for a given controller. * * @param ControllerReference $reference A ControllerReference instance * @param Request $request A Request instance * * @return string A fragment URI */ protected function generateFragmentUri(ControllerReference $reference, Request $request) { if (!isset($reference->attributes['_format'])) { $reference->attributes['_format'] = $request->getRequestFormat(); } $reference->attributes['_controller'] = $reference->controller; $reference->query['_path'] = http_build_query($reference->attributes, '', '&'); return $request->getUriForPath($this->fragmentPath.'?'.http_build_query($reference->query, '', '&')); } } |