ILIAS  trunk Revision v12.0_alpha-1227-g7ff6d300864
class.InternalDomainService.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Exercise;
22
34
36{
37 use GlobalDICDomainServices;
38
41 protected array $instance = [];
43
44 public function __construct(
48 ) {
49 $this->data = $data;
50 $this->repo = $repo;
51 $this->initDomainServices($dic);
52 $this->assignment_service = new Assignment\DomainService(
53 $this,
54 $repo
55 );
56 }
57
58 public function log(): \ilLogger
59 {
60 return $this->logger()->exc();
61 }
62
63 public function object(int $ref_id): ObjectManager
64 {
65 return new ObjectManager($ref_id);
66 }
67
69 {
71 }
72
73 public function submission(int $ass_id): SubmissionManager
74 {
75 return $this->instance["subm"][$ass_id] ??= new SubmissionManager(
76 $this->repo,
77 $this,
80 );
81 }
82
83 public function peerReview(): DomainService
84 {
85 return $this->instance["peer_review"] ??= new DomainService(
86 $this->repo,
87 $this
88 );
89 }
90
92 {
93 return $this->instance["notification"][$ref_id] ??= new NotificationManager(
94 $this,
96 );
97 }
98
99 public function team(): TeamManager
100 {
101 return $this->instance["team"] ??= new TeamManager(
102 $this->repo,
103 $this,
105 );
106 }
107
109 {
110 return $this->instance["idl"] ??= new IndividualDeadlineManager();
111 }
112
113 public function exercise(
114 int $obj_id
115 ): ExerciseManager {
116 return $this->instance["exercise"][$obj_id] ??= new ExerciseManager(
117 $this->repo,
118 $this,
119 $obj_id
120 );
121 }
122
123 public function exerciseSettings(
124 ): SettingsManager {
125 return $this->instance["settings"] ??= new SettingsManager(
126 $this->data,
127 $this->repo,
128 $this
129 );
130 }
131
132 public function userEvent(): UserEvent
133 {
134 return new UserEvent(
135 $this->repo,
136 $this
137 );
138 }
139
140 public function permission(): PermissionManager
141 {
142 return $this->instance["perm"] ??= new PermissionManager(
143 $this
144 );
145 }
146
147}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
Internal factory for data objects.
__construct(Container $dic, InternalDataService $data, InternalRepoService $repo)
Component logger with individual log levels by component id.
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$ref_id
Definition: ltiauth.php:66
$dic
Definition: ltiresult.php:33
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
initDomainServices(\ILIAS\DI\Container $DIC)