class LazyLoadingFragmentHandler
Lazily loads fragment renderers from the dependency injection container.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\HttpKernel\Fragment\FragmentHandler
- class \Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler extends \Symfony\Component\HttpKernel\Fragment\FragmentHandler
Expanded class hierarchy of LazyLoadingFragmentHandler
File
-
vendor/
symfony/ http-kernel/ DependencyInjection/ LazyLoadingFragmentHandler.php, line 24
Namespace
Symfony\Component\HttpKernel\DependencyInjectionView source
class LazyLoadingFragmentHandler extends FragmentHandler {
/**
* @var array<string, bool>
*/
private array $initialized = [];
public function __construct(ContainerInterface $container, RequestStack $requestStack, bool $debug = false) {
parent::__construct($requestStack, [], $debug);
}
public function render(string|ControllerReference $uri, string $renderer = 'inline', array $options = []) : ?string {
if (!isset($this->initialized[$renderer]) && $this->container
->has($renderer)) {
$this->addRenderer($this->container
->get($renderer));
$this->initialized[$renderer] = true;
}
return parent::render($uri, $renderer, $options);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
FragmentHandler::$renderers | private | property | @var array<string, FragmentRendererInterface> | |
FragmentHandler::addRenderer | public | function | Adds a renderer. | |
FragmentHandler::deliver | protected | function | Delivers the Response as a string. | |
LazyLoadingFragmentHandler::$initialized | private | property | ||
LazyLoadingFragmentHandler::render | public | function | Renders a URI and returns the Response content. | Overrides FragmentHandler::render |
LazyLoadingFragmentHandler::__construct | public | function | Overrides FragmentHandler::__construct |