/** * @desc Cleans the output buffer and execute the given controller before exiting * @param Controller $controller the controller to execute */ public static function redirect(Controller $controller) { AppContext::get_response()->clean_output(); Environment::init_output_bufferization(); $request = AppContext::get_request(); $response = $controller->execute($request); $response->send(); Environment::destroy(); exit; }
/** * @desc dispatch the current url argument to the first method matching * in the <code>UrlControllerMapper</code> list of the controller object * @throws NoUrlMatchException */ public function dispatch() { $url = AppContext::get_request()->get_getstring('url', ''); foreach ($this->url_controller_mappers as $url_controller_mapper) { if ($url_controller_mapper->match($url)) { $url_controller_mapper->call(); Environment::destroy(); return; } } throw new NoUrlMatchException($url); Environment::destroy(); }
* ------------------- * begin : March 27, 2007 * copyright : (C) 2007 Viarre RĂ©gis * email : crowkait@phpboost.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ if (defined('PHPBOOST') !== true) { exit; } AppContext::get_response()->clean_output(); $content = AppContext::get_response()->get_previous_ob_content(); Environment::display($content); Environment::destroy();
private function display() { if ($this->fatal) { AppContext::get_response()->clean_output(); if (Debug::is_debug_mode_enabled()) { Debug::fatal($this->exception); } else { Environment::init_output_bufferization(); echo self::FATAL_MESSAGE; Environment::destroy(); exit; } } elseif (Debug::is_debug_mode_enabled()) { $this->display_debug(); } }
private function destroy_app() { Environment::destroy(); exit; }