ILIAS  trunk Revision v13.0_alpha-52-g21c366bbdd4
Factory.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=0);
20
21namespace ILIAS\Tracking\View;
22
25use ILIAS\Tracking\View\DataRetrieval\Factory as DataRetrievalFactory;
26use ILIAS\Tracking\View\DataRetrieval\FactoryInterface as DataRetrievalFactoryInterface;
27use ILIAS\Tracking\View\FactoryInterface as ViewFactoryInterface;
28use ILIAS\Tracking\View\ProgressBlock\Factory as ProgressBlockFactory;
29use ILIAS\Tracking\View\PropertyList\Factory as PropertyListFactory;
30use ILIAS\Tracking\View\PropertyList\FactoryInterface as PropertyListFactoryInterface;
31use ILIAS\Tracking\View\Renderer\Factory as RendererFactory;
32use ILIAS\Tracking\View\Renderer\FactoryInterface as RendererFactoryInterface;
33
34class Factory implements ViewFactoryInterface
35{
36 protected UIServices $ui;
37 protected ilDBInterface $db;
38
39 public function __construct()
40 {
41 global $DIC;
42 $this->ui = $DIC->ui();
43 $this->db = $DIC->database();
44 }
45
46 public function renderer(): RendererFactoryInterface
47 {
48 return new RendererFactory(
49 $this->ui
50 );
51 }
52
53 public function dataRetrieval(): DataRetrievalFactoryInterface
54 {
55 return new DataRetrievalFactory(
56 $this->db
57 );
58 }
59
60 public function propertyList(): PropertyListFactoryInterface
61 {
62 return new PropertyListFactory();
63 }
64
65 public function progressBlock(): ProgressBlockFactory
66 {
67 return new ProgressBlockFactory($this->db);
68 }
69}
Provides fluid interface to RBAC services.
Definition: UIServices.php:25
Interface ilDBInterface.
global $DIC
Definition: shib_login.php:26