KumbiaPHP
beta2
Framework PHP
Página principal
Páginas relacionadas
Namespaces
Estructuras de Datos
Archivos
Ejemplos
Lista de archivos
Globales
Todo
Estructuras de Datos
Namespaces
Archivos
Funciones
Variables
Páginas
git
KumbiaPHP
core
kumbia
bootstrap.php
Ir a la documentación de este archivo.
1
<?php
28
// Inicia la sesion
29
session_start();
30
31
// Iniciar el buffer de salida
32
ob_start();
33
34
// Versión de KumbiaPHP
35
function
kumbia_version
()
36
{
37
return
'1.0 Beta 2'
;
38
}
39
40
// @see KumbiaException
41
function
handle_exception
($e)
42
{
43
KumbiaException::handle_exception
($e);
44
}
45
46
// Registrar la autocarga
47
spl_autoload_register(
'auto'
);
48
49
// Inicializar el ExceptionHandler
50
set_exception_handler(
'handle_exception'
);
51
52
// @see Util
53
require
CORE_PATH
.
'kumbia/util.php'
;
54
55
// @see Config
56
require
CORE_PATH
.
'kumbia/config.php'
;
57
58
// Lee la configuracion
59
$config
=
Config::read
(
'config'
);
60
61
// Constante que indica si la aplicacion se encuentra en produccion
62
if
(!defined(
'PRODUCTION'
)) {
63
define(
'PRODUCTION'
,
$config
[
'application'
][
'production'
]);
64
}
65
66
// Carga la cache y verifica si esta cacheado el template, al estar en produccion
67
if
(PRODUCTION) {
68
// @see Cache
69
require
CORE_PATH
.
'libs/cache/cache.php'
;
70
71
//Asigna el driver por defecto usando el config.ini
72
if
(isset(
$config
[
'application'
][
'cache_driver'
]))
73
Cache::setDefault
(
$config
[
'application'
][
'cache_driver'
]);
74
75
// Verifica si esta cacheado el template
76
if
($template =
Cache::driver
()->
get
(
$url
,
'kumbia.templates'
)) {
//verifica cache de template para la url
77
echo $template;
78
echo
'<!-- Tiempo: '
. round(microtime(TRUE) -
START_TIME
, 4) .
' seg. -->'
;
79
exit(0);
80
}
81
}
82
83
// Asignando locale
84
if
(isset(
$config
[
'application'
][
'locale'
])) {
85
setlocale(LC_ALL,
$config
[
'application'
][
'locale'
]);
86
}
87
88
// Establecer el timezone para las fechas y horas
89
if
(isset(
$config
[
'application'
][
'timezone'
])) {
90
ini_set(
'date.timezone'
,
$config
[
'application'
][
'timezone'
]);
91
}
92
93
// Establecer el charset de la app en la constante APP_CHARSET
94
if
(isset(
$config
[
'application'
][
'charset'
])) {
95
define(
'APP_CHARSET'
, strtoupper(
$config
[
'application'
][
'charset'
]));
96
}
else
{
97
define(
'APP_CHARSET'
,
'UTF-8'
);
98
}
99
100
// Autocarga de clases
101
function
auto
($class)
102
{
103
104
// Optimizando carga
105
if
($class ==
'ActiveRecord'
) {
106
return
include
APP_PATH
.
'libs/active_record.php'
;
107
}
108
if
($class ==
'Load'
) {
109
return
include
CORE_PATH
.
'kumbia/load.php'
;
110
}
111
112
// Pasando a smallcase
113
$class =
Util::smallcase
($class);
114
if
(is_file(
APP_PATH
.
"extensions/helpers/$class.php"
)) {
115
return
include
APP_PATH
.
"extensions/helpers/$class.php"
;
116
}
117
if
(is_file(
CORE_PATH
.
"extensions/helpers/$class.php"
)) {
118
return
include
CORE_PATH
.
"extensions/helpers/$class.php"
;
119
}
120
if
(is_file(
APP_PATH
.
"libs/$class.php"
)) {
121
return
include
APP_PATH
.
"libs/$class.php"
;
122
}
123
if
(is_file(
CORE_PATH
.
"libs/$class/$class.php"
)) {
124
return
include
CORE_PATH
.
"libs/$class/$class.php"
;
125
}
126
127
if
($class ==
'kumbia_exception'
) {
128
include
CORE_PATH
.
'kumbia/kumbia_exception.php'
;
129
}
130
}
131
132
// @see Router
133
require
CORE_PATH
.
'kumbia/router.php'
;
134
135
// @see Controller
136
require
APP_PATH
.
'libs/app_controller.php'
;
137
138
// @see KumbiaView
139
require
APP_PATH
.
'libs/view.php'
;
140
141
// Ejecuta el request
142
try
{
143
// Dispatch y renderiza la vista
144
View::render
(
Router::execute
(
$url
));
145
}
catch
(
KumbiaException
$e) {
146
KumbiaException::handle_exception
($e);
147
}
148
149
// Fin del request
150
exit();
Generado el Viernes, 14 de Marzo de 2014 20:14:03 para KumbiaPHP por
1.8.4