92 lines
3.0 KiB
PHP
Executable File
92 lines
3.0 KiB
PHP
Executable File
<?php
|
|
// ============================
|
|
// Configurações de erro
|
|
// ============================
|
|
ini_set(option: 'display_errors', value: 1);
|
|
ini_set(option: 'display_startup_errors', value: 1);
|
|
ini_set(option: 'log_errors', value: 1);
|
|
ini_set(option: 'error_log', value: __DIR__ . "/../app/Storage/Logs/php_errors.log");
|
|
error_reporting(error_level: E_ALL);
|
|
|
|
// Importa autoload do Composer
|
|
require_once realpath(path: __DIR__ . '/../vendor/autoload.php');
|
|
|
|
// ============================
|
|
// Namespaces usados
|
|
// ============================
|
|
use AxiumPHP\Core\Router;
|
|
use Zampet\Config\Config;
|
|
use AxiumPHP\Core\LoggerService;
|
|
use Zampet\Module\Auth\v0\Middlewares\AuthMiddleware;
|
|
|
|
// ============================
|
|
// Configurações globais
|
|
// ============================
|
|
$Config = Config::getInstance();
|
|
|
|
// ============================
|
|
// Define constantes do sistema
|
|
// ============================
|
|
const ROUTER_MODE = 'JSON';
|
|
const APP_SYS_MODE = 'DEV'; // PROD = Production, DEV = Development
|
|
define(constant_name: 'ROOT_SYSTEM_PATH', value: realpath(path: __DIR__ . "/.."));
|
|
define(constant_name: 'INI_SYSTEM_PATH', value: realpath(path: __DIR__ . "/../app"));
|
|
define(constant_name: 'MODULE_PATH', value: realpath(path: __DIR__ . "/../app/Module"));
|
|
define(constant_name: 'STORAGE_FOLDER_PATH', value: realpath(path: __DIR__ . "/../app/Storage"));
|
|
|
|
// ============================
|
|
// Inicializa LoggerService
|
|
// ============================
|
|
LoggerService::init(
|
|
driver: LoggerService::DRIVER_FILE,
|
|
logDir: __DIR__ . '/../app/Storage/Logs'
|
|
);
|
|
|
|
// ============================
|
|
// Define origens permitidas
|
|
// ============================
|
|
const ROUTER_ALLOWED_ORIGINS = [
|
|
'*'
|
|
];
|
|
|
|
// ============================
|
|
// Define fuso horário
|
|
// ============================
|
|
date_default_timezone_set(timezoneId: $Config->get(key: "SYSTEM_TIMEZONE"));
|
|
|
|
// ============================
|
|
// Inicia sessão se necessário
|
|
// ============================
|
|
if (session_status() === PHP_SESSION_NONE) {
|
|
session_start();
|
|
}
|
|
|
|
// ============================
|
|
// Inicializa o roteador
|
|
// ============================
|
|
new Router();
|
|
|
|
// ============================
|
|
// Carregamento de Módulos Essenciais do sistema
|
|
// ============================
|
|
require_once MODULE_PATH . '/Auth/v0/bootstrap.php';
|
|
|
|
Router::group(
|
|
prefix: '/module',
|
|
callback: function() {
|
|
// Carrega módulo do Tutor
|
|
require_once MODULE_PATH . '/Tutor/v0/bootstrap.php';
|
|
|
|
},
|
|
middlewares: [
|
|
AuthMiddleware::class."::handle"
|
|
]
|
|
);
|
|
|
|
// ============================
|
|
// Dispara o roteador
|
|
// ============================
|
|
// Só dispara Router se for uma requisição web
|
|
if (php_sapi_name() !== 'cli') {
|
|
Router::dispatch();
|
|
} |