ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.InternalService.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Container;
22
24
26{
27 protected static array $instance = [];
28
29 public function __construct(
30 protected 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}
Repository internal data service.
Repository internal repo service.
__construct(protected Container $DIC)
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
global $DIC
Definition: shib_login.php:26