Example #1
0
// Load in the Fuel autoloader
require COREPATH . 'classes' . DIRECTORY_SEPARATOR . 'autoloader.php';
class_alias('Fuel\\Core\\Autoloader', 'Autoloader');
// Boot the app
require APPPATH . 'bootstrap.php';
// Generate the request, execute it and send the output.
try {
    $response = Request::forge()->execute()->response();
} catch (HttpNotFoundException $e) {
    \Request::reset_request(true);
    $route = array_key_exists('_404_', Router::$routes) ? Router::$routes['_404_']->translation : Config::get('routes._404_');
    if ($route instanceof Closure) {
        $response = $route();
        if (!$response instanceof Response) {
            $response = Response::forge($response);
        }
    } elseif ($route) {
        $response = Request::forge($route, false)->execute()->response();
    } else {
        throw $e;
    }
}
// Render the output
$response->body((string) $response);
// This will add the execution time and memory usage to the output.
// Comment this out if you don't use it.
if (strpos($response->body(), '{exec_time}') !== false or strpos($response->body(), '{mem_usage}') !== false) {
    $bm = Profiler::app_total();
    $response->body(str_replace(array('{exec_time}', '{mem_usage}'), array(round($bm[0], 4), round($bm[1] / pow(1024, 2), 3)), $response->body()));
}
$response->send(true);
Example #2
0
 /**
  * Cleans up Fuel execution, ends the output buffering, and outputs the
  * buffer contents.
  *
  * @access	public
  * @return	void
  */
 public static function finish()
 {
     if (static::$caching && static::$paths_changed === true) {
         static::cache('Fuel::path_cache', static::$path_cache);
     }
     // Grab the output buffer
     $output = ob_get_clean();
     if (static::$profiling) {
         \Profiler::mark('End of Fuel Execution');
         if (preg_match("|</body>.*?</html>|is", $output)) {
             $output = preg_replace("|</body>.*?</html>|is", '', $output);
             $output .= \Profiler::output();
             $output .= '</body></html>';
         } else {
             $output .= \Profiler::output();
         }
     }
     $bm = \Profiler::app_total();
     // TODO: There is probably a better way of doing this, but this works for now.
     $output = \str_replace(array('{exec_time}', '{mem_usage}'), array(round($bm[0], 4), round($bm[1] / pow(1024, 2), 3)), $output);
     // Send the buffer to the browser.
     echo $output;
 }