public function execute() { $session = \Libs\Session::current(); // Create sub session to render the request: $simulate = \Libs\Session::open(); // Copy Apps: foreach ($session->apps() as $key => $app) { if ($app instanceof \Apps\Debug\App) { continue; } $simulate->registerApp($app); unset($session->apps()->{$key}); } foreach ($session->instances() as $key => $value) { if ($value instanceof \Apps\Debug\App) { continue; } if ($value instanceof \Apps\Debug\Views\Main) { continue; } $simulate->instances()->{$key} = $value; unset($session->instances()->{$key}); } // Copy parameters: foreach ($session->parameters() as $key => $value) { if ($key == 'debug') { continue; } $simulate->parameters()->{$key} = $value; } // Execute session: $simulate->execute(); $simulate->render(); self::$session = $simulate; \Libs\Session::close($simulate); // Continue with main session: parent::execute(); }