public function bootstrap(): void
    {
        $container        = $this->getContainer();
        $bootstrapManager = $container->get(BootstrapManager::class);

        if (! $bootstrapManager->hasBeenBootstrapped()) {
            $bootstraps = [];

            foreach ($this->getPreparedBootstraps() as $classes) {
                /** @var \Viserio\Component\Contract\Foundation\BootstrapState $class */
                foreach ($classes as $class) {
                    if (\in_array(BootstrapStateContract::class, \class_implements($class), true)) {
                        $method = 'add' . $class::getType() . 'Bootstrapping';

                        $bootstrapManager->{$method}($class::getBootstrapper(), [$class, 'bootstrap']);
                    } else {
                        /** @var \Viserio\Component\Contract\Foundation\Bootstrap $class */
                        $bootstraps[] = $class;
                    }
                }
            }

            $bootstrapManager->bootstrapWith($bootstraps);

            if ($this->isDebug() && ! isset($_ENV['SHELL_VERBOSITY']) && ! isset($_SERVER['SHELL_VERBOSITY'])) {
                \putenv('SHELL_VERBOSITY=3');

                $_ENV['SHELL_VERBOSITY']    = 3;
                $_SERVER['SHELL_VERBOSITY'] = 3;
            }

            $dispatcher = $container->get(DispatcherContract::class);

            if ($dispatcher instanceof MiddlewareBasedDispatcher) {
                $dispatcher->setMiddlewarePriorities($this->resolvedOptions['middleware_priority']);
                $dispatcher->withMiddleware($this->resolvedOptions['route_middleware']);

                foreach ($this->resolvedOptions['middleware_groups'] as $key => $middleware) {
                    $dispatcher->setMiddlewareGroup($key, $middleware);
                }
            }
        }
    }
public function bootstrap(): void
    {
        $container        = $this->getContainer();
        $bootstrapManager = $container->get(BootstrapManager::class);

        if (! $bootstrapManager->hasBeenBootstrapped()) {
            $bootstraps = [];

            foreach ($this->getPreparedBootstraps() as $classes) {
                /** @var \Viserio\Component\Contract\Foundation\BootstrapState $class */
                foreach ($classes as $class) {
                    if (\in_array(BootstrapStateContract::class, \class_implements($class), true)) {
                        $method = 'add' . $class::getType() . 'Bootstrapping';

                        $bootstrapManager->{$method}($class::getBootstrapper(), [$class, 'bootstrap']);
                    } else {
                        /** @var \Viserio\Component\Contract\Foundation\Bootstrap $class */
                        $bootstraps[] = $class;
                    }
                }
            }

            $bootstrapManager->bootstrapWith($bootstraps);

            if ($this->isDebug() && ! isset($_ENV['SHELL_VERBOSITY']) && ! isset($_SERVER['SHELL_VERBOSITY'])) {
                \putenv('SHELL_VERBOSITY=3');

                $_ENV['SHELL_VERBOSITY']    = 3;
                $_SERVER['SHELL_VERBOSITY'] = 3;
            }

            $dispatcher = $container->get(DispatcherContract::class);

            if ($dispatcher instanceof MiddlewareBasedDispatcher) {
                $dispatcher->setMiddlewarePriorities($this->resolvedOptions['middleware_priority']);
                $dispatcher->withMiddleware($this->resolvedOptions['route_middleware']);

                foreach ($this->resolvedOptions['middleware_groups'] as $key => $middleware) {
                    $dispatcher->setMiddlewareGroup($key, $middleware);
                }
            }
        }
    }
public function bootstrap ( ) : void { $ container = $ this -> getContainer ( ) ; $ bootstrapManager = $ container -> get ( BootstrapManager :: class ) ; if ( ! $ bootstrapManager -> hasBeenBootstrapped ( ) ) { $ bootstraps = [ ] ; foreach ( $ this -> getPreparedBootstraps ( ) as $ classes ) { /** @var \Viserio\Component\Contract\Foundation\BootstrapState $class */ foreach ( $ classes as $ class ) { if ( \ in_array ( BootstrapStateContract :: class , \ class_implements ( $ class ) , true ) ) { $ method = 'add' . $ class :: getType ( ) . 'Bootstrapping' ; $ bootstrapManager -> { $ method } ( $ class :: getBootstrapper ( ) , [ $ class , 'bootstrap' ] ) ; } else { /** @var \Viserio\Component\Contract\Foundation\Bootstrap $class */ $ bootstraps [ ] = $ class ; } } } $ bootstrapManager -> bootstrapWith ( $ bootstraps ) ; if ( $ this -> isDebug ( ) && ! isset ( $ _ENV [ 'SHELL_VERBOSITY' ] ) && ! isset ( $ _SERVER [ 'SHELL_VERBOSITY' ] ) ) { \ putenv ( 'SHELL_VERBOSITY=3' ) ; $ _ENV [ 'SHELL_VERBOSITY' ] = 3 ; $ _SERVER [ 'SHELL_VERBOSITY' ] = 3 ; } $ dispatcher = $ container -> get ( DispatcherContract :: class ) ; if ( $ dispatcher instanceof MiddlewareBasedDispatcher ) { $ dispatcher -> setMiddlewarePriorities ( $ this -> resolvedOptions [ 'middleware_priority' ] ) ; $ dispatcher -> withMiddleware ( $ this -> resolvedOptions [ 'route_middleware' ] ) ; foreach ( $ this -> resolvedOptions [ 'middleware_groups' ] as $ key => $ middleware ) { $ dispatcher -> setMiddlewareGroup ( $ key , $ middleware ) ; } } } }
Bootstrap the kernel for HTTP requests.

@return void
Bootstrap the kernel for HTTP requests .