1616class 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