gamesshop/src/php/Environment/EnvironmentHandler.php
2024-11-07 22:05:24 +01:00

49 lines
No EOL
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace GamesShop\Environment;
use DotenvVault\DotenvVault;
use GamesShop\Paths;
final class EnvironmentHandler
{
private const string ENVIRONMENT_PATH = Paths::ROOT_PATH . '/config';
public function load() {
$dotEnv = DotenvVault::createImmutable(
self::ENVIRONMENT_PATH
);
$dotEnv->safeLoad();
}
public function getDiscordEnvironment(): DiscordEnvironment {
return new DiscordEnvironment(
$_SERVER['DISCORD_CLIENT_ID'],
$_SERVER['DISCORD_CLIENT_SECRET'],
$_SERVER['DISCORD_CLIENT_LOGIN_URI'],
);
}
public function getDatabaseEnvironment(): DatabaseEnvironment
{
return new DatabaseEnvironment(
$_SERVER['DB_DRIVER'],
$_SERVER['DB_PATH']
);
}
public function isProduction(): bool {
return $_SERVER['PRODUCTION'] === 'true';
}
public function useSSL(): bool
{
return $_SERVER['USE_SSL'] === 'true';
}
public function getLoggingPath(): string {
return $_SERVER['LOG_PATH'] ?? '';
}
}