• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eliashaeussler / typo3-solver / 13217441560

08 Feb 2025 04:36PM UTC coverage: 87.749% (-2.1%) from 89.843%
13217441560

push

github

web-flow
Merge pull request #289 from eliashaeussler/task/covers-class

[TASK] Add `#[CoversClass]` attributes to all tests

838 of 955 relevant lines covered (87.75%)

2.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Classes/Configuration/LazyConfigurationProvider.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "solver".
7
 *
8
 * Copyright (C) 2023-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 2 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\Typo3Solver\Configuration;
25

26
/**
27
 * LazyConfigurationProvider
28
 *
29
 * @author Elias Häußler <elias@haeussler.dev>
30
 * @license GPL-2.0-or-later
31
 */
32
final class LazyConfigurationProvider implements ConfigurationProvider
33
{
34
    private static ?ConfigurationProvider $provider = null;
35

36
    public function get(string $configPath, mixed $default = null): mixed
×
37
    {
38
        return $this->getProvider()->get($configPath, $default);
×
39
    }
40

41
    private function getProvider(): ConfigurationProvider
×
42
    {
43
        if (self::$provider === null) {
×
44
            self::$provider = ExtensionConfigurationProvider::canBeUsed()
×
45
                ? new ExtensionConfigurationProvider()
×
46
                : new LowLevelConfigurationProvider()
×
47
            ;
×
48
        }
49

50
        return self::$provider;
×
51
    }
52
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc