0 follower

Final Class Yiisoft\ErrorHandler\RendererProvider\ClosureRendererProvider

InheritanceYiisoft\ErrorHandler\RendererProvider\ClosureRendererProvider
ImplementsYiisoft\ErrorHandler\RendererProvider\RendererProviderInterface

Provides a renderer based on a closure that returns a ThrowableRendererInterface or its class name.

Psalm Types

Name Value
TClosure callable

Method Details

Hide inherited methods

__construct() public method

public __construct( Closure $closure, \Psr\Container\ContainerInterface $container ): mixed
$closure Closure
$container \Psr\Container\ContainerInterface

                public function __construct(
    private readonly Closure $closure,
    private readonly ContainerInterface $container,
) {}

            
get() public method

public get( \Psr\Http\Message\ServerRequestInterface $request ): Yiisoft\ErrorHandler\ThrowableRendererInterface|null
$request \Psr\Http\Message\ServerRequestInterface

                public function get(ServerRequestInterface $request): ?ThrowableRendererInterface
{
    $result = ($this->closure)($request);
    if (is_string($result)) {
        /** @var ThrowableRendererInterface */
        return $this->container->get($result);
    }
    return $result;
}