ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.InternalService.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Container;
22 
23 use ILIAS\DI;
24 
26 {
27  protected static array $instance = [];
28 
29  public function __construct(
30  protected DI\Container $DIC
31  ) {
32  }
33 
34  public function data(): InternalDataService
35  {
36  return self::$instance["data"] ??= new InternalDataService();
37  }
38 
39  public function repo(): InternalRepoService
40  {
41  return self::$instance["repo"] ??= new InternalRepoService(
42  $this->data(),
43  $this->DIC->database()
44  );
45  }
46 
47  public function domain(): InternalDomainService
48  {
49  return self::$instance["domain"] ??= new InternalDomainService(
50  $this->DIC,
51  $this->repo(),
52  $this->data(),
53  );
54  }
55 
56  public function gui(): InternalGUIService
57  {
58  return self::$instance["gui"] ??= new InternalGUIService(
59  $this->DIC,
60  $this->data(),
61  $this->domain()
62  );
63  }
64 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:35
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: Container.php:19
Repository internal data service.
global $DIC
Definition: feed.php:28
Class HTTPServicesTest.
__construct(protected DI\Container $DIC)
Repository internal repo service.