ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.InternalService.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
21 namespace ILIAS\Survey;
22 
24 
30 {
36  protected \ilDBInterface $db;
37 
38  public function __construct()
39  {
40  global $DIC;
41 
42  $object_service = $DIC->object();
43  $this->db = $DIC->database();
44  $this->mode_factory = new ModeFactory();
45  $this->data = new InternalDataService();
46  $this->repo = new InternalRepoService(
47  $this->data(),
48  $this->db
49  );
50  $this->domain = new InternalDomainService(
51  $this->mode_factory,
52  $this->repo,
53  $this->data
54  );
55  $this->gui = new InternalGUIService(
56  $object_service,
57  $this->mode_factory,
58  $this->domain
59  );
60  $this->mode_factory->setInternalService($this);
61  }
62 
63  public function gui(): InternalGUIService
64  {
65  return $this->gui;
66  }
67 
68  public function repo(): InternalRepoService
69  {
70  return $this->repo;
71  }
72 
73  public function data(): InternalDataService
74  {
75  return $this->data;
76  }
77 
78  public function domain(): InternalDomainService
79  {
80  return $this->domain;
81  }
82 }
global $DIC
Definition: feed.php:28
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...