Test Failed
Push — main ( b6e144...1a2341 )
by Rafael
05:34
created

Globals::load()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nc 1
nop 0
dl 0
loc 18
rs 9.8666
c 0
b 0
f 0
1
<?php
2
/**
3
 * Alxarafe. Development of PHP applications in a flash!
4
 * Copyright (C) 2018 Alxarafe <[email protected]>
5
 */
6
7
namespace Alxarafe\Core\Helpers;
8
9
/**
10
 * Class Globals
11
 *
12
 * Carga las constantes predefinidas
13
 *
14
 * @author  Rafael San José Tovar <[email protected]>
15
 *
16
 * @package Alxarafe\Core\Helpers
17
 */
18
abstract class Globals
19
{
20
    /**
21
     * Nombre de la aplicación
22
     */
23
    const APP_NAME = 'Alxarafe';
24
25
    /**
26
     * Versión de la aplicación
27
     */
28
    const APP_VERSION = '2023.0-Beta';
29
30
    /**
31
     * Nombre de la variable GET usada para indicar el nombre del módulo en la URL
32
     */
33
    const MODULE_GET_VAR = 'module';
34
35
    /**
36
     * Nombre de la variable GET usada para indicar el nombre del controlador en la URL
37
     */
38
    const CONTROLLER_GET_VAR = 'controller';
39
40
    /**
41
     * Valor por defecto de la variable GET 'MODULE_GET_VAR', si no se ha especificado en la URL
42
     */
43
    const DEFAULT_MODULE_NAME = 'main';
44
45
    /**
46
     * Valor por defecto de la variable GET 'CONTROLLER_GET_VAR', si no se ha especificado en la URL
47
     */
48
    const DEFAULT_CONTROLLER_NAME = 'init';
49
50
    /**
51
     * Define las constantes de la aplicación
52
     *
53
     * @author Rafael San José Tovar <[email protected]>
54
     */
55
    public static function load()
56
    {
57
        define('APP_URI', pathinfo(filter_input(INPUT_SERVER, 'SCRIPT_NAME'), PATHINFO_DIRNAME));
58
59
        define('SERVER_NAME', filter_input(INPUT_SERVER, 'SERVER_NAME'));
60
        define('SERVER_PORT', filter_input(INPUT_SERVER, 'SERVER_PORT'));
61
        define('APP_PROTOCOL', filter_input(INPUT_SERVER, 'REQUEST_SCHEME'));
62
        define('SITE_URL', constant('APP_PROTOCOL') . '://' . constant('SERVER_NAME'));
63
        define('BASE_URI', constant('SITE_URL') . constant('APP_URI'));
64
65
        define('VENDOR_URI', constant('BASE_URI') . '/vendor/');
66
        define('TMP_DIR', constant('BASE_DIR') . '/tmp/');
67
68
        define('CONFIGURATION_DIR', constant('BASE_DIR') . '/config/');
69
        define('DEFAULT_STRING_LENGTH', 50);
70
        define('DEFAULT_INTEGER_SIZE', 10);
71
72
        define('MODULES_DIR', 'Modules');
73
    }
74
}
75