D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
plib
/
modules
/
grafana
/
vendor
/
mezzio
/
mezzio
/
src
/
Container
/
Filename :
NotFoundHandlerFactory.php
back
Copy
<?php declare (strict_types=1); namespace PleskGrafana\Mezzio\Container; use PleskGrafana\Mezzio\Handler\NotFoundHandler; use PleskGrafana\Mezzio\Template\TemplateRendererInterface; use Psr\Container\ContainerInterface; use PleskGrafana\Webmozart\Assert\Assert; use function array_key_exists; class NotFoundHandlerFactory { use Psr17ResponseFactoryTrait; public function __invoke(ContainerInterface $container) : NotFoundHandler { $config = $container->has('config') ? $container->get('config') : []; Assert::isArrayAccessible($config); $renderer = $container->has(TemplateRendererInterface::class) ? $container->get(TemplateRendererInterface::class) : ($container->has(\PleskGrafana\Zend\Expressive\Template\TemplateRendererInterface::class) ? $container->get(\PleskGrafana\Zend\Expressive\Template\TemplateRendererInterface::class) : null); $mezzioConfiguration = $config['mezzio'] ?? []; Assert::isMap($mezzioConfiguration); $errorHandlerConfig = $mezzioConfiguration['error_handler'] ?? []; $template = $errorHandlerConfig['template_404'] ?? NotFoundHandler::TEMPLATE_DEFAULT; $layout = array_key_exists('layout', $errorHandlerConfig) ? (string) $errorHandlerConfig['layout'] : NotFoundHandler::LAYOUT_DEFAULT; $responseFactory = $this->detectResponseFactory($container); return new NotFoundHandler($responseFactory, $renderer, $template, $layout); } }