ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilSettingsFactoryExistsObjective.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 2019 Richard Klees <richard.klees@concepts-and-training.de> Extended GPL, see docs/LICENSE */
4 
5 use ILIAS\Setup;
6 
7 class ilSettingsFactoryExistsObjective implements Setup\Objective
8 {
9  public function getHash() : string
10  {
11  return hash("sha256", self::class);
12  }
13 
14  public function getLabel() : string
15  {
16  return "Initialize factory for ilSetting";
17  }
18 
19  public function isNotable() : bool
20  {
21  return false;
22  }
23 
24  public function getPreconditions(Setup\Environment $environment) : array
25  {
26  $db_config = $environment->getConfigFor("database");
27  return [
28  new ilDatabasePopulatedObjective($db_config)
29  ];
30  }
31 
32  public function achieve(Setup\Environment $environment) : Setup\Environment
33  {
34  $db = $environment->getResource(Setup\Environment::RESOURCE_DATABASE);
35 
36  return $environment
37  ->withResource(
38  Setup\Environment::RESOURCE_SETTINGS_FACTORY,
39  new \ilSettingsFactory($db)
40  );
41  }
42 }
getResource(string $id)
Consumers of this method should check if the result is what they expect, e.g.
A factory that builds ilSettings that can be used for DI.
An environment holds resources to be used in the setup process.
Definition: Environment.php:11