ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
QuestionPoolDIC.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
23use Pimple\Container as PimpleContainer;
24use ILIAS\DI\Container as ILIASContainer;
29use ILIAS\Test\Settings\GlobalSettings\Repository as GlobalTestSettingsRepository;
31
32class QuestionPoolDIC extends PimpleContainer
33{
34 public static ?self $dic = null;
35
36 public static function dic(): self
37 {
38 if (!self::$dic) {
39 global $DIC;
41 }
42 return self::$dic;
43 }
44
45 protected static function buildDIC(ILIASContainer $DIC): self
46 {
47 $dic = new self();
48 $dic['request_data_collector'] = static fn($c): RequestDataCollector =>
50 $DIC->http(),
51 $DIC['refinery'],
52 $DIC['upload']
53 );
54 $dic['question.repo.suggestedsolutions'] = static fn($c): SuggestedSolutionsDatabaseRepository =>
56 $dic['question.general_properties.repository'] = static fn($c): GeneralQuestionPropertiesRepository =>
58 $DIC['ilDB'],
59 $DIC['component.factory'],
60 $DIC['component.repository']
61 );
62 $dic['question_files'] = fn($c): QuestionFiles =>
63 new QuestionFiles();
64
65 $dic['participant_repository'] = static fn($c): ParticipantRepository =>
66 new ParticipantRepository($DIC['ilDB']);
67 $dic['global_test_settings'] = static fn($c): GlobalTestSettings =>
68 (new GlobalTestSettingsRepository($DIC['ilSetting'], new \ilSetting('assessment')))->getGlobalSettings();
69
70 return $dic;
71 }
72}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
static buildDIC(ILIASContainer $DIC)
ILIAS Setting Class.
$c
Definition: deliver.php:25
$dic
Definition: ltiresult.php:33
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: shib_login.php:26