0

Final Class Yiisoft\Yii\Debug\Api\Debug\Http\HttpApplicationWrapper

InheritanceYiisoft\Yii\Debug\Api\Debug\Http\HttpApplicationWrapper

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( \Yiisoft\Middleware\Dispatcher\MiddlewareDispatcher $middlewareDispatcher, array $middlewareDefinitions )
$middlewareDispatcher \Yiisoft\Middleware\Dispatcher\MiddlewareDispatcher
$middlewareDefinitions array

                public function __construct(
    private MiddlewareDispatcher $middlewareDispatcher,
    private array $middlewareDefinitions,
) {}

            
wrap() public method

public \Yiisoft\Yii\Http\Application wrap ( \Yiisoft\Yii\Http\Application $application )
$application \Yiisoft\Yii\Http\Application

                public function wrap(Application $application): Application
{
    $middlewareDispatcher = $this->middlewareDispatcher;
    $middlewareDefinitions = $this->middlewareDefinitions;
    /**
     * `Application` properties are readonly, so create a new instance with a wrapped dispatcher.
     *
     * @psalm-suppress InaccessibleProperty
     */
    $closure = Closure::bind(
        static fn(Application $application): Application => new Application(
            $middlewareDispatcher->withMiddlewares([
                ...$middlewareDefinitions,
                ['class' => MiddlewareDispatcherMiddleware::class, '$middlewareDispatcher' => $application->dispatcher],
            ]),
            $application->eventDispatcher,
            $application->fallbackHandler,
        ),
        null,
        Application::class,
    );
    return $closure($application);
}