-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathlist.php
More file actions
25 lines (20 loc) · 919 Bytes
/
list.php
File metadata and controls
25 lines (20 loc) · 919 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
declare(strict_types=1);
use Solid\App\BlogPost\Application\UseCase\ListBlogPostUseCase;
use Solid\App\BlogPost\Domain\Model\BlogPostNormalizer;
use Solid\App\BlogPost\Infrastructure\Persistence\FileStorage;
use Solid\App\BlogPost\Presentation\Controller\ListAction;
use Solid\App\BlogPost\Presentation\Renderer\HtmlRenderer;
use Solid\App\BlogPost\Presentation\Renderer\JsonRenderer;
use Solid\App\BlogPost\Presentation\Renderer\RenderContainer;
require __DIR__.'/../../vendor/autoload.php';
$normalizer = new BlogPostNormalizer();
$storage = new FileStorage($normalizer, __DIR__.'/../../var/data/blog_post.dat');
$useCase = new ListBlogPostUseCase($storage);
$renderContainer = new RenderContainer([
'html' => new HtmlRenderer(),
'json' => new JsonRenderer($normalizer),
]);
$format = $_GET['format'] ?? 'html';
$action = new ListAction($useCase, $renderContainer->get($format));
$action($format);