16
16
class App
17
17
{
18
18
/** Inphinit framework version */
19
- const VERSION = '0.5.3 ' ;
19
+ const VERSION = '0.5.4 ' ;
20
20
21
21
private static $ events = array ();
22
22
private static $ configs = array ();
@@ -55,7 +55,7 @@ public static function trigger($name, array $args = array())
55
55
return null ;
56
56
}
57
57
58
- $ listen = self ::$ events [$ name ];
58
+ $ listen = & self ::$ events [$ name ];
59
59
60
60
usort ($ listen , function ($ a , $ b ) {
61
61
return $ b [1 ] >= $ a [1 ];
@@ -64,8 +64,6 @@ public static function trigger($name, array $args = array())
64
64
foreach ($ listen as $ callback ) {
65
65
call_user_func_array ($ callback [0 ], $ args );
66
66
}
67
-
68
- $ listen = null ;
69
67
}
70
68
71
69
/**
@@ -122,16 +120,13 @@ public static function off($name, $callback = null)
122
120
return null ;
123
121
}
124
122
125
- $ evts = self ::$ events [$ name ];
123
+ $ evts = & self ::$ events [$ name ];
126
124
127
125
foreach ($ evts as $ key => $ value ) {
128
126
if ($ value [0 ] === $ callback ) {
129
127
unset($ evts [$ key ]);
130
128
}
131
129
}
132
-
133
- self ::$ events [$ name ] = $ evts ;
134
- $ evts = null ;
135
130
}
136
131
137
132
/**
@@ -171,21 +166,23 @@ public static function exec()
171
166
self ::trigger ('init ' );
172
167
173
168
if (self ::env ('maintenance ' )) {
174
- self ::stop (503 );
169
+ $ resp = 503 ;
170
+ } else {
171
+ $ resp = \UtilsStatusCode ();
175
172
}
176
173
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
+ }
180
178
181
179
if (is_integer ($ resp )) {
182
- self ::$ state = 5 ;
183
- self ::stop ($ resp , 'Invalid route ' );
180
+ self ::stop ($ resp );
184
181
}
185
182
186
183
$ callback = $ resp ['callback ' ];
187
184
188
- if (! $ callback instanceof \Closure ) {
185
+ if (is_string ( $ callback) ) {
189
186
$ parsed = explode (': ' , $ callback , 2 );
190
187
191
188
$ callback = '\\Controller \\' . strtr ($ parsed [0 ], '. ' , '\\' );
@@ -216,9 +213,8 @@ public static function exec()
216
213
self ::$ state = 3 ;
217
214
}
218
215
219
- self ::trigger ('finish ' );
220
-
221
216
if (self ::$ state < 4 ) {
217
+ self ::trigger ('finish ' );
222
218
self ::$ state = 4 ;
223
219
}
224
220
}
0 commit comments