Skip to content

Commit 39d07bd

Browse files
committed
Version 0.5.4 👾
- Improved get initial HTTP status (200) - Removed trigger changestatus event for initial HTTP status - If HTTP status is 200 avoid execute `Route::get()` (for use ErrorDocument, error_page, etc)
1 parent ccf9105 commit 39d07bd

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

src/Inphinit/App.php

+13-17
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
class App
1717
{
1818
/** Inphinit framework version */
19-
const VERSION = '0.5.3';
19+
const VERSION = '0.5.4';
2020

2121
private static $events = array();
2222
private static $configs = array();
@@ -55,7 +55,7 @@ public static function trigger($name, array $args = array())
5555
return null;
5656
}
5757

58-
$listen = self::$events[$name];
58+
$listen = &self::$events[$name];
5959

6060
usort($listen, function ($a, $b) {
6161
return $b[1] >= $a[1];
@@ -64,8 +64,6 @@ public static function trigger($name, array $args = array())
6464
foreach ($listen as $callback) {
6565
call_user_func_array($callback[0], $args);
6666
}
67-
68-
$listen = null;
6967
}
7068

7169
/**
@@ -122,16 +120,13 @@ public static function off($name, $callback = null)
122120
return null;
123121
}
124122

125-
$evts = self::$events[$name];
123+
$evts = &self::$events[$name];
126124

127125
foreach ($evts as $key => $value) {
128126
if ($value[0] === $callback) {
129127
unset($evts[$key]);
130128
}
131129
}
132-
133-
self::$events[$name] = $evts;
134-
$evts = null;
135130
}
136131

137132
/**
@@ -171,21 +166,23 @@ public static function exec()
171166
self::trigger('init');
172167

173168
if (self::env('maintenance')) {
174-
self::stop(503);
169+
$resp = 503;
170+
} else {
171+
$resp = \UtilsStatusCode();
175172
}
176173

177-
self::trigger('changestatus', array(\UtilsStatusCode(), null));
178-
179-
$resp = Route::get();
174+
//200 is initial value in commons webservers
175+
if ($resp === 200) {
176+
$resp = Route::get();
177+
}
180178

181179
if (is_integer($resp)) {
182-
self::$state = 5;
183-
self::stop($resp, 'Invalid route');
180+
self::stop($resp);
184181
}
185182

186183
$callback = $resp['callback'];
187184

188-
if (!$callback instanceof \Closure) {
185+
if (is_string($callback)) {
189186
$parsed = explode(':', $callback, 2);
190187

191188
$callback = '\\Controller\\' . strtr($parsed[0], '.', '\\');
@@ -216,9 +213,8 @@ public static function exec()
216213
self::$state = 3;
217214
}
218215

219-
self::trigger('finish');
220-
221216
if (self::$state < 4) {
217+
self::trigger('finish');
222218
self::$state = 4;
223219
}
224220
}

0 commit comments

Comments
 (0)