add session, container, and routes to app

This commit is contained in:
Yisroel Baum 2025-10-29 22:06:12 +02:00
parent aa89f77fcb
commit 175bd3734b
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -1,22 +1,38 @@
<?php <?php
session_start([
'cookie_httponly' => true,
'cookie_secure' => !empty($_SERVER['HTTPS']),
'cookie_samesite' => 'Lax',
]);
require __DIR__ . '/../vendor/autoload.php';
use DI\Container; use DI\Container;
use DigiWill\Controllers\UserController; use DigiWill\Controllers\UserController;
use Slim\Factory\AppFactory; use Slim\Factory\AppFactory;
use Slim\Views\Twig; use Slim\Views\Twig;
use Slim\Views\TwigMiddleware; use Slim\Views\TwigMiddleware;
use Tests\Fakes\FakeUserRepository;
use DigiWill\Repositories\UserRepository;
use DigiWill\MiddleWare\AuthMiddleware;
require __DIR__ . '/../vendor/autoload.php'; $container = new Container([
UserRepository::class => DI\create(FakeUserRepository::class),
$container = new Container(); ]);
$app = AppFactory::createFromContainer($container); $app = AppFactory::createFromContainer($container);
$twig = Twig::create(__DIR__ . '/../templates', ['cache' => false]); $twig = Twig::create(__DIR__ . '/../templates', ['cache' => false]);
$auth = new AuthMiddleware();
$app->add(TwigMiddleware::create($app, $twig)); $app->add(TwigMiddleware::create($app, $twig));
$app->addErrorMiddleware(true, false, false); $app->addErrorMiddleware(true, false, false);
$app->get('/', [UserController::class, 'home']); $app->get('/', [UserController::class, 'home']);
$app->get('/login', [UserController::class, 'login']);
$app->get('/logout', [UserController::class, 'logout']);
$app->post('/login', [UserController::class, 'doLogin']);
$app->get('/dashboard', [UserController::class, 'dashboard'])->add($auth);
$app->run(); $app->run();