49 lines
No EOL
1.2 KiB
PHP
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'] ?? '';
|
|
}
|
|
} |