69 lines
2.7 KiB
PHP
69 lines
2.7 KiB
PHP
<?php
|
|
/**
|
|
* @file config.php
|
|
* @brief Zentrale Konfigurationsdatei für das Geizkragen-Projekt.
|
|
*
|
|
* @details Diese Datei liefert die Basis-Konfigurationseinstellungen für die gesamte Anwendung,
|
|
* insbesondere die erforderlichen Verbindungsdaten für die Datenbank. Die Werte werden primär
|
|
* über Umgebungsvariablen (Environment Variables) dynamisch ausgelesen. Sind diese Variablen
|
|
* auf dem jeweiligen System nicht gesetzt, wird auf standardisierte Fallback-Werte (Defaults)
|
|
* zurückgegriffen. Dies ermöglicht eine sichere und flexible Trennung von Quellcode und
|
|
* umgebungsspezifischen Konfigurationen.
|
|
*/
|
|
|
|
// Zentrale Konfiguration der Anwendung
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @brief Konfigurations-Array der Anwendung.
|
|
*
|
|
* @details Gibt ein mehrdimensionales, assoziatives Array zurück, welches alle
|
|
* betriebsrelevanten Konfigurationsparameter der Anwendung kapselt. Aktuell umfasst
|
|
* dies im Wesentlichen die Datenbank-Konfiguration unter dem Schlüssel 'db'.
|
|
*
|
|
* @return array Assoziatives Array mit den Systemeinstellungen.
|
|
*/
|
|
return [
|
|
/**
|
|
* @brief Datenbank-Konfigurationseinstellungen.
|
|
* @details Enthält alle Parameter, die zum Aufbau einer PDO- oder MySQLi-Verbindung notwendig sind.
|
|
*/
|
|
'db' => [
|
|
/**
|
|
* @brief Der Hostname oder die IP-Adresse des Datenbankservers.
|
|
* @details Ausgelesen aus der Umgebungsvariable 'GEIZKRAGEN_DB_HOST'.
|
|
*/
|
|
'host' => getenv('GEIZKRAGEN_DB_HOST') ?: 'HOST',
|
|
|
|
/**
|
|
* @brief Der TCP-Port des Datenbankservers.
|
|
* @details Ausgelesen aus 'GEIZKRAGEN_DB_PORT'. Der Wert wird für Typsicherheit strikt in
|
|
* einen Integer umgewandelt. Fallback ist der Standard-MySQL/MariaDB Port 3306.
|
|
*/
|
|
'port' => (int)(getenv('GEIZKRAGEN_DB_PORT') ?: 3306),
|
|
|
|
/**
|
|
* @brief Der Benutzername zur Authentifizierung an der Datenbank.
|
|
*/
|
|
'user' => getenv('GEIZKRAGEN_DB_USER') ?: 'USER',
|
|
|
|
/**
|
|
* @brief Das Passwort zur Authentifizierung an der Datenbank.
|
|
* @details Ausgelesen aus 'GEIZKRAGEN_DB_PASS'.
|
|
*/
|
|
'pass' => getenv('GEIZKRAGEN_DB_PASS') ?: 'PASSWORD',
|
|
|
|
/**
|
|
* @brief Der Name der verwendeten Datenbankstruktur/Schema.
|
|
*/
|
|
'name' => getenv('GEIZKRAGEN_DB_NAME') ?: 'DATABASE',
|
|
|
|
/**
|
|
* @brief Der verwendete Zeichensatz (Charset) für die Datenbankverbindung.
|
|
* @details Ausgelesen aus 'GEIZKRAGEN_DB_CHARSET'. Fallback ist 'utf8mb4',
|
|
* was empfohlen wird, um vollständige Unicode-Unterstützung (inkl. Emojis) zu garantieren.
|
|
*/
|
|
'charset' => getenv('GEIZKRAGEN_DB_CHARSET') ?: 'utf8mb4',
|
|
],
|
|
];
|