First Commit

This commit is contained in:
Michel Fedde 2024-06-30 14:41:33 +02:00
commit 923d6ca242
35 changed files with 4933 additions and 0 deletions

View file

@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace GamesShop\Routing;
use GamesShop\ContainerHandler;
use GamesShop\Login\LoginHandler;
use GamesShop\Templates\TemplateEngine;
use Laminas\Diactoros\Response;
use Laminas\Diactoros\Response\RedirectResponse;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
final class IndexRoute
{
public function __invoke(ServerRequestInterface $request): ResponseInterface {
$loginHandler = ContainerHandler::get(LoginHandler::class);
if (!$loginHandler->isLoggedIn()) {
return new RedirectResponse('/login');
}
$pageContent = ContainerHandler::get(TemplateEngine::class)->renderPage('index');
$response = new Response;
$response->getBody()->write($pageContent);
return $response;
}
public static function applyRoutes(\League\Route\Router $router): void {
$router->get('/', self::class);
}
}