/** * @param Request $request * @param Response $response * @param callable|NULL $next * * @return Response */ public function __invoke(Request $request, Response $response, callable $next = NULL) { $elapsed_time = elapsed_time_since_request(); $response->getBody()->write("<div>Elapsed time : {$elapsed_time}</div>" . PHP_EOL); // delegate to parent return parent::__invoke($request, $response, $next); }
/** * Launches the prerequisites to using the application */ public function run() { require_once ROOT . '/core/autoloader/Autoloader.php'; $paths = (require_once ROOT . '/app/config/paths.php'); $autoloader = new Autoloader($paths); $autoloader->start(); $config = (require ROOT . '/app/config/app.php'); define('DEBUG', Config::get()->read('debug')); if (!DEBUG) { error_reporting(0); } else { ini_set('display_errors', 'on'); error_reporting(E_ALL); } session_cache_expire(Config::get()->read('session')); session_start(); require_once ROOT . '/core/helpers.php'; $router = new Router(isset($_GET['url']) ? $_GET['url'] : null); require_once ROOT . '/app/routes.php'; $this->router = $router; $middleware = new Middleware(); $middleware->load(); $router->run(); }
/** * Routing Middleware entry point. * * Route determination and execution is handled entirely by this object. * * @param Request $request * @param Response $response * @param callable|NULL $next * * @return Response */ public function __invoke(Request $request, Response $response, callable $next = NULL) { // we need to get the routing object here due to the strict // middleware __invoke method signature. $this->routing = $this->forge->make(Routing::class); // evaluate the route and return state list($status, $action, $input) = $this->routing->evaluate_route($this->routing->match()); // verify that the route is valid $error_response = $this->routing->getRouteError($response, $status); // has an error been detected? if (is_null($error_response)) { // No, so execute the route return $this->routing->executeRouteAction($input, $action) ? parent::__invoke($request, $response, $next) : $response; } else { // otherwise return the error response return $error_response; } }
/** * @param Request $request * @param Response $response * @param callable $next * * @return Response */ public function __invoke(Request $request, Response $response, callable $next = NULL) { $response->getBody()->write('<div>End of Line.</div>' . PHP_EOL); // delegate to parent return parent::__invoke($request, $response, $next); }
/** * @param Request $request * @param Response $response * @param callable|NULL $next * * @return Response */ public function __invoke(Request $request, Response $response, callable $next = NULL) { $msg = $this->logged_in ? "<div>You are logged in!</div>" : "<div>You need to login.</div>"; $response->getBody()->write($msg); return $this->logged_in ? parent::__invoke($request, $response, $next) : $response; }