<?php
date_default_timezone_set('Europe/Moscow');
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', '9');
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('magic_quotes_gpc', 0);

// Засекаем время
$time_start = microtime(true);

require 'view/View.php';
$view = new View();

//по маршрутам определим контроллер-обработчик (модуль)
$view->routes->module = require 'routes.php';
if(($res = $view->fetch()) === false)
{
    http_response_code(404);
    $view->routes->first = '404';
    $res = $view->fetch();
}

//сожмём данные если нужно
print $view->custom->compress($res);

$generation_time = round(microtime(true) - $time_start, 4);
$memory_usage = memory_get_peak_usage();
$db_queries = count($view->db->queries);

print "\n<!--
    page generation time: {$generation_time} seconds
    peak memory usage: {$memory_usage} bytes
    number of database requests: {$db_queries}
\n-->";

if($view->config->db_show_queries)
    print "<pre><small>".print_r($view->db->queries, 1)."</small></pre>";
