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\Exercise;
22 
23 use ILIAS\HTTP;
24 use ILIAS\Refinery;
25 
32 {
33  protected \ILIAS\DI\Container $DIC;
38 
39  protected \ilDBInterface $db;
40  protected HTTP\Services $http;
41  protected Refinery\Factory $refinery;
42  protected \ilObjectService $obj_service;
43 
44 
48  public function __construct()
49  {
51  global $DIC;
52 
53  $this->db = $DIC->database();
54  $this->http = $DIC->http();
55  $this->refinery = $DIC->refinery();
56  $this->obj_service = $DIC->object();
57  $this->DIC = $DIC;
58 
59  $this->data = new InternalDataService();
60  $this->repo = new InternalRepoService(
61  $this->data(),
62  $this->db
63  );
64  $this->domain = new InternalDomainService(
65  $this->DIC,
66  $this->data,
67  $this->repo
68  );
69  }
70 
71  public function gui(
72  array $query_params = null,
73  array $post_data = null
75  return new InternalGUIService(
76  $this->DIC,
77  $this->data(),
78  $this->domain()
79  );
80  }
81 
85  public function repo(): InternalRepoService
86  {
87  return $this->repo;
88  }
89 
93  public function data(): InternalDataService
94  {
95  return $this->data;
96  }
97 
98  public function domain(): InternalDomainService
99  {
100  return $this->domain;
101  }
102 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Exercise UI frontend presentation service class.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: ByTrying.php:21
Exercise internal service.
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...
static http()
Fetches the global http state from ILIAS.
__construct()
Constructor setup ILIAS global object public.
Definition: class.ilias.php:62
gui(array $query_params=null, array $post_data=null)
Internal factory for data objects.
Exercise domain service (business logic)
data()
Booking service data objects.