mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-16 13:07:14 +01:00
72 lines
1.8 KiB
PHP
72 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Xentral\Modules\SystemConfig;
|
|
|
|
use Xentral\Core\DependencyInjection\ContainerInterface;
|
|
use Xentral\Modules\SystemConfig\Gateway\SystemConfigGateway;
|
|
use Xentral\Modules\SystemConfig\Helper\SystemConfigHelper;
|
|
use Xentral\Modules\SystemConfig\Service\SystemConfigService;
|
|
|
|
final class Bootstrap
|
|
{
|
|
/**
|
|
* @return array
|
|
*/
|
|
public static function registerServices(): array
|
|
{
|
|
return [
|
|
'SystemConfigModule' => 'onInitSystemConfigModule',
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @param ContainerInterface $container
|
|
*
|
|
* @return SystemConfigService
|
|
*/
|
|
public static function onInitSystemConfigModule(ContainerInterface $container): SystemConfigModule
|
|
{
|
|
return new SystemConfigModule(
|
|
self::onInitSystemConfigService($container),
|
|
self::onInitSystemConfigGateway($container)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @param ContainerInterface $container
|
|
*
|
|
* @return SystemConfigService
|
|
*/
|
|
private static function onInitSystemConfigService(ContainerInterface $container): SystemConfigService
|
|
{
|
|
return new SystemConfigService(
|
|
self::onInitSystemConfigGateway($container),
|
|
$container->get('Database'),
|
|
self::onInitSystemConfigHelper()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @param ContainerInterface $container
|
|
*
|
|
* @return SystemConfigGateway
|
|
*/
|
|
private static function onInitSystemConfigGateway(ContainerInterface $container): SystemConfigGateway
|
|
{
|
|
return new SystemConfigGateway(
|
|
$container->get('Database'),
|
|
self::onInitSystemConfigHelper()
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return SystemConfigHelper
|
|
*/
|
|
private static function onInitSystemConfigHelper(): SystemConfigHelper
|
|
{
|
|
return new SystemConfigHelper();
|
|
}
|
|
}
|