Add PHP Media API scaffold and Docker configs
Initial project scaffold for a PHP Media API including routing, controllers, models and services under api/ (Router, Media/Cast/Image/Settings controllers, models, database/bootstrap files and automatic docs service). Adds Docker support (Dockerfile, docker-compose.yml, DOCKER_README.md, php-custom.ini), .htaccess for pretty URLs, API documentation and example payloads (API_EXAMPLES.md, api/README.md, api_examples/*.json), image handling service and logging, plus a comprehensive .gitignore. This commit provides a runnable development environment and example requests to get the API up and tested quickly.
This commit is contained in:
39
api/config.php
Normal file
39
api/config.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
// Konfiguration
|
||||
// Docker-Umgebungsvariablen oder Standardwerte
|
||||
define('DB_HOST', getenv('DB_HOST') ?: 'mariadb');
|
||||
define('DB_NAME', getenv('DB_NAME') ?: 'kyoo');
|
||||
define('DB_USER', getenv('DB_USER') ?: 'kyoo_user');
|
||||
define('DB_PASS', getenv('DB_PASS') ?: 'kyoo_password');
|
||||
define('API_BASE', '/api');
|
||||
|
||||
// API Logging Konfiguration
|
||||
define('API_LOGGING_ENABLED', getenv('API_LOGGING_ENABLED') === 'true' || false); // Standardmäßig aktiviert zum Testen
|
||||
define('API_LOG_FILE', '/var/www/html/logs/api.log');
|
||||
|
||||
// PHP Error Logging Konfiguration
|
||||
define('PHP_ERROR_LOG_FILE', '/var/www/html/logs/php_error.log');
|
||||
|
||||
// Hilfsfunktion für cleanname Generierung
|
||||
function generateCleanName($name) {
|
||||
// Kleinbuchstaben, nur alphanumerische Zeichen und Bindestriche
|
||||
$clean = strtolower($name);
|
||||
// Sonderzeichen durch Bindestriche ersetzen
|
||||
$clean = preg_replace('/[^a-z0-9]+/', '-', $clean);
|
||||
// Bindestriche am Anfang und Ende entfernen
|
||||
$clean = trim($clean, '-');
|
||||
// Mehrere Bindestriche durch einen ersetzen
|
||||
$clean = preg_replace('/-+/', '-', $clean);
|
||||
return $clean;
|
||||
}
|
||||
|
||||
// CORS-Header
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
|
||||
header('Access-Control-Allow-Headers: Content-Type');
|
||||
|
||||
// OPTIONS-Request behandeln
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
||||
http_response_code(200);
|
||||
exit;
|
||||
}
|
||||
Reference in New Issue
Block a user