add chapter 12 solutions

This commit is contained in:
lubiana 2022-05-31 17:49:17 +02:00 committed by Andre Lubian
parent f857fa4752
commit ebbcc6e7f6
23 changed files with 1998 additions and 0 deletions

View file

@ -0,0 +1,38 @@
<?php declare(strict_types=1);
use DI\ContainerBuilder;
use FastRoute\Dispatcher;
use Laminas\Diactoros\Response;
use Laminas\Diactoros\ServerRequestFactory;
use Lubian\NoFramework\Configuration;
use Lubian\NoFramework\Service\Time\Clock;
use Lubian\NoFramework\Service\Time\SystemClock;
use Lubian\NoFramework\Template\MustacheRenderer;
use Lubian\NoFramework\Template\Renderer;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use function FastRoute\simpleDispatcher;
$builder = new ContainerBuilder;
$builder->addDefinitions(
[
ServerRequestInterface::class => fn () => ServerRequestFactory::fromGlobals(),
ResponseInterface::class => fn () => new Response,
Clock::class => fn () => new SystemClock,
Renderer::class => fn (MustacheRenderer $me) => $me,
Dispatcher::class => fn (Configuration $c) => simpleDispatcher(require $c->routesFile),
Mustache_Loader_FilesystemLoader::class => fn (Configuration $c) => new Mustache_Loader_FilesystemLoader(
$c->templateDir,
[
'extension' => $c->templateExtension,
]
),
Mustache_Engine::class => fn (Mustache_Loader_FilesystemLoader $loader) => new Mustache_Engine([
'loader' => $loader,
]),
Configuration::class => fn () => require __DIR__ . '/settings.php',
]
);
return $builder->build();