Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
ModuleRegistry
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 register
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getModules
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5/** @license For full copyright and license information, please see the LICENSE.md file. */
6
7namespace App\Core\Module;
8
9defined('AMMONLY_APP') || exit('Direct script access is forbidden.');
10
11final class ModuleRegistry
12{
13    /** @var array<string, ModuleInterface> */
14    private array $modules = [];
15
16    public function register(ModuleInterface $module): void
17    {
18        $this->modules[$module->getId()] = $module;
19    }
20
21    public function getModules(): array
22    {
23        return $this->modules;
24    }
25}