-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap.php
79 lines (66 loc) · 1.78 KB
/
bootstrap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
require __DIR__ . '/vendor/autoload.php';
/*
* Solución temporal si el servidor HTTP
* no soporta reescritura de rutas.
*/
$_GET['_path_'] = ltrim($_SERVER['PATH_INFO'] ?? '', '/');
/*
* Carga variables de entorno desde el archivo .env
*/
\App\Utils\Env::loadDotEnv();
/*
* Carga opciones de configuración de la aplicación.
*/
foreach (\App\Utils\Config::getFromFilename('app') as $key => $value) {
\App\Utils\Env::set('APP_' . strtoupper($key), $value);
}
/*
* Carga opciones de configuración de la base de datos
* para el ORM de la aplicación.
*/
foreach (\App\Utils\Config::getFromFilename('database') as $database => $options) {
foreach ($options as $option => $value) {
\App\Utils\Env::put(strtoupper($database . '_' . $option), $value);
}
}
/*
* Configura los logs de la aplicación.
*/
foreach (\App\Utils\Config::getFromFilename('logs') as $key => $value) {
ini_set($key, $value);
}
/*
* Establece todas las funciones de fecha de PHP a UTC.
*/
date_default_timezone_set('UTC');
/*
* Configura e inicia una nueva sesión.
*/
session_start(['save_path' => __DIR__ . '/writable/sessions']);
/*
* Crea una instancia de la aplicación.
*/
$app = new \Riverside\Express\Application();
/*
* Configura la ruta de las vistas.
*/
$app->set('views', __DIR__ . '/app/Views');
/*
* Establece parámetros personalizados
* para utilizarlos en las rutas.
*/
$app->param('uuid', '[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}');
$app->param('wildcard', '.*');
/*
* Carga los archivos de definición de rutas y middlewares.
*
* Se pasa la variable $app dentro de los archivos
* para registrar rutas y middlewares.
*/
require_once __DIR__ . '/routes/api.php';
require_once __DIR__ . '/routes/web.php';
/*
* Ejecuta la aplicación.
*/
$app->run();