getBody()->write($html); return $response; } public function texts(Response $response): Response { $texts = $this->textRepository->getAll(); $textsList = ''; foreach ($texts as $text) { $textsList .= '
  • ' . htmlspecialchars($text->getName()) . '
  • '; } $html = file_get_contents(__DIR__.'/../../views/templates/texts.php', true); $html = str_replace('{{texts}}', $textsList, $html); $response->getBody()->write($html); return $response; } public function createText( Request $request, Response $response, CreateText $createTextUseCase, ): Response { $data = $request->getParsedBody(); $name = $data['name'] ?? ''; if (!empty($name)) { $createTextUseCase->execute(new CreateTextRequest( name: $name, )); } return $response->withHeader('Location', '/admin/texts')->withStatus(302); } }