ILIAS  release_8 Revision v8.24
FSLoader.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
27
39class FSLoader implements Loader
40{
41 use LoaderHelper;
42
47
48 public function __construct(
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:40
getRendererFactoryFor(Component $component)
@inheritdocs
Definition: FSLoader.php:73
getRendererFor(Component $component, array $contexts)
@inheritdocs
Definition: FSLoader.php:63
__construct(RendererFactory $default_renderer_factory, RendererFactory $glyph_renderer_factory, RendererFactory $icon_renderer_factory, RendererFactory $field_renderer_factory)
Definition: FSLoader.php:48
A component is the most general form of an entity in the UI.
Definition: Component.php:28
This describes inputs that can be used in forms.
Definition: FormInput.php:32
An entity that renders components to a string output.
Loads renderers for components.
Definition: Loader.php:30
This is the interface that components should use if they want to load specific renderers.
$factory
Definition: metadata.php:75
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...