for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace App\Handler;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Yiisoft\Http\Status;
use Yiisoft\Router\UrlGeneratorInterface;
use Yiisoft\Router\CurrentRoute;
use Yiisoft\Yii\View\ViewRenderer;
final class NotFoundHandler implements RequestHandlerInterface
{
public function __construct(
private UrlGeneratorInterface $urlGenerator,
private CurrentRoute $currentRoute,
private ViewRenderer $viewRenderer
) {
$this->viewRenderer = $viewRenderer->withControllerName('site');
}
public function handle(ServerRequestInterface $request): ResponseInterface
return $this->viewRenderer
->render('404', ['urlGenerator' => $this->urlGenerator, 'currentRoute' => $this->currentRoute])
->withStatus(Status::NOT_FOUND);