<?php namespace bloc; date_default_timezone_set('America/Chicago'); #1. Frow where index.php is located, load the application file. This is the only mandatory part I think. require '../bloc/application.php'; #2. Create an instance of the application $app = Application::instance(['mode' => 'dev']); # main page deal $app->prepare('http-request', function ($app, $params) { $request = new Request($params); $response = new Response($request); $app->setExchanges($request, $response); // Provide a namespace (also a directory) to load objects that can respond to controller->action $router = new Router('controllers', $request); // default controller and action as arguments, in case nothin doin in the request $response->setBody($router->delegate('graph', 'index')); echo $response; }); #4. Run the app. Nothing happens w/o this. Can call different stuff from the queue. $app->execute('http-request', $_REQUEST);
<?php date_default_timezone_set('Asia/Novosibirsk'); require_once 'config/Templater.php'; require_once 'config/Config.php'; require_once 'Router.php'; $projectDir = __DIR__; define('PROJECTDIR', $projectDir); define('DIRSEP', DIRECTORY_SEPARATOR); function autoloader($class) { $class = trim($class, '/\\'); $parts = explode('\\', $class); require_once __DIR__ . '/' . $parts[0] . '/' . $parts[1] . '.php'; } spl_autoload_register('autoloader'); $smarty = \config\Templater::getInstance()->smarty(); // Вывести верхний колонтитул $smarty->display('header.tpl'); $router = new Router(); $router->delegate(); // Вывести нижний колонтитул $smarty->display('footer.tpl');
#3. Get a Session ready $app->prepare('session-start', function ($app) { $app->session('COLUM'); }); $app->prepare('clean-up', function ($app) { session_write_close(); }); # main page deal $app->prepare('http-request', function ($app, $params) { $request = new Request($params); $response = new Response($request); $app->setExchanges($request, $response); // Provide a namespace (also a directory) to load objects that can respond to controller->action $router = new Router('controllers', $request); try { $output = $router->delegate('lecture', 'index'); } catch (\Exception $e) { \bloc\application::instance()->log($e->getTrace()); $view = new View(\controllers\records::layout); $view->content = 'views/layouts/error.html'; $output = $view->render(['message' => $e->getMessage()]); } // default controller and action as arguments, in case nothin doin in the request $response->setBody($output); if (getenv('MODE') === 'local' && count($app->log()) > 0) { $app->execute('debug', $response); } echo $response; }); $app->prepare('debug', function ($app, $response) { $app::instance()->log('Peak Memory: ' . round(memory_get_peak_usage() / pow(1024, 2), 4) . "Mb");