pass requests to controller, return twig template

This commit is contained in:
Yisroel Baum 2025-10-25 23:06:48 +03:00
parent 2383fd9d93
commit 5775b4b3c3
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 30 additions and 6 deletions

View file

@ -1,8 +1,7 @@
<?php
use DI\Container;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\RequestInterface as Request;
use DigiWill\Controllers\UserController;
use Slim\Factory\AppFactory;
use Slim\Views\Twig;
use Slim\Views\TwigMiddleware;
@ -18,9 +17,6 @@ $twig = Twig::create(__DIR__ . '/../templates', ['cache' => false]);
$app->add(TwigMiddleware::create($app, $twig));
$app->addErrorMiddleware(true, false, false);
$app->get('/', function (Request $request, Response $response, $args) {
$response->getBody()->write("Hello world!");
return $response;
});
$app->get('/', [UserController::class, 'home']);
$app->run();

View file

@ -0,0 +1,19 @@
<?php
namespace DigiWill\Controllers;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\RequestInterface as Request;
use Slim\Views\Twig;
class UserController
{
public function home(Request $request, Response $response): Response
{
$view = Twig::fromRequest($request);
return $view->render($response, 'home.html.twig', [
'name' => '',
]);
}
}

9
templates/home.html.twig Normal file
View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Slim!</title>
</head>
<body>
<h1>Hello {{ name }}</h1>
</body>
</html>