ILIAS  release_8 Revision v8.23
FSLoader.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
27 
39 class FSLoader implements Loader
40 {
41  use LoaderHelper;
42 
47 
48  public function __construct(
49  RendererFactory $default_renderer_factory,
50  RendererFactory $glyph_renderer_factory,
51  RendererFactory $icon_renderer_factory,
52  RendererFactory $field_renderer_factory
53  ) {
54  $this->default_renderer_factory = $default_renderer_factory;
55  $this->glyph_renderer_factory = $glyph_renderer_factory;
56  $this->icon_renderer_factory = $icon_renderer_factory;
57  $this->field_renderer_factory = $field_renderer_factory;
58  }
59 
63  public function getRendererFor(Component $component, array $contexts): ComponentRenderer
64  {
65  $context_names = $this->getContextNames($contexts);
66  $factory = $this->getRendererFactoryFor($component);
67  return $factory->getRendererInContext($component, $context_names);
68  }
69 
73  public function getRendererFactoryFor(Component $component): RendererFactory
74  {
75  if ($component instanceof Glyph) {
77  }
78  if ($component instanceof Icon) {
80  }
81  if ($component instanceof FormInput) {
83  }
85  }
86 }
Loads renderers for components from the file system.
Definition: FSLoader.php:39
An entity that renders components to a string output.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(RendererFactory $default_renderer_factory, RendererFactory $glyph_renderer_factory, RendererFactory $icon_renderer_factory, RendererFactory $field_renderer_factory)
Definition: FSLoader.php:48
This is the interface that components should use if they want to load specific renderers.
getRendererFactoryFor(Component $component)
Definition: FSLoader.php:73
Loads renderers for components.
Definition: Loader.php:29
getRendererFor(Component $component, array $contexts)
Definition: FSLoader.php:63
$factory
Definition: metadata.php:75