<?php
declare(strict_types=1);

/**
 * app/core/bootstrap.php
 * Bootstrap ringan untuk aplikasi PHP native.
 */

if (!defined('ROOT_PATH')) {
    define('ROOT_PATH', dirname(__DIR__, 2));
}
if (!defined('APP_PATH')) {
    define('APP_PATH', ROOT_PATH . '/app');
}
if (!defined('CONFIG_PATH')) {
    define('CONFIG_PATH', ROOT_PATH . '/config');
}
if (!defined('MODULES_PATH')) {
    define('MODULES_PATH', ROOT_PATH . '/modules');
}
if (!defined('STORAGE_PATH')) {
    define('STORAGE_PATH', ROOT_PATH . '/storage');
}
if (!defined('UPLOADS_PATH')) {
    define('UPLOADS_PATH', ROOT_PATH . '/uploads');
}

$envFile = CONFIG_PATH . '/env.php';
if (is_file($envFile)) {
    require_once $envFile;
}

$appEnv = (string)(function_exists('env_value') ? env_value('APP_ENV', 'production') : 'production');
$appDebug = function_exists('env_bool') ? env_bool('APP_DEBUG', false) : false;

ini_set('display_errors', $appDebug ? '1' : '0');
ini_set('display_startup_errors', $appDebug ? '1' : '0');
ini_set('log_errors', '1');
ini_set('error_log', STORAGE_PATH . '/logs/php-error.log');
error_reporting(E_ALL);

$autoload = ROOT_PATH . '/vendor/autoload.php';
if (is_file($autoload)) {
    require_once $autoload;
}
