protected function bootstrapCore(): void
    {
        // The events class to use from the config
        $eventsImpl = self::$config['app']['events'];
        // The container class to use from the config
        $containerImpl = self::$config['app']['container'];
        // The dispatcher class to use from the config
        $dispatcherImpl = self::$config['app']['dispatcher'];

        // Set the events to a new instance of the events implementation
        self::$events = new $eventsImpl($this);

        // If the events implementation specified does not adhere to the events
        // contract
        if (! self::$events instanceof Events) {
            throw new InvalidEventsImplementation(
                'Invalid Events implementation'
            );
        }

        // Set the container to a new instance of the container implementation
        self::$container = new $containerImpl($this);

        // If the container implementation specified does not adhere to the
        // container contract
        if (! self::$container instanceof Container) {
            throw new InvalidContainerImplementation(
                'Invalid Container implementation'
            );
        }

        // Set the dispatcher to a new instance of the dispatcher implementation
        self::$dispatcher = new $dispatcherImpl($this);

        // If the dispatcher implementation specified does not adhere to the
        // dispatcher contract
        if (! self::$dispatcher instanceof Dispatcher) {
            throw new InvalidDispatcherImplementation(
                'Invalid Dispatcher implementation'
            );
        }
    }
protected function bootstrapCore(): void
    {
        // The events class to use from the config
        $eventsImpl = self::$config['app']['events'];
        // The container class to use from the config
        $containerImpl = self::$config['app']['container'];
        // The dispatcher class to use from the config
        $dispatcherImpl = self::$config['app']['dispatcher'];

        // Set the events to a new instance of the events implementation
        self::$events = new $eventsImpl($this);

        // If the events implementation specified does not adhere to the events
        // contract
        if (! self::$events instanceof Events) {
            throw new InvalidEventsImplementation(
                'Invalid Events implementation'
            );
        }

        // Set the container to a new instance of the container implementation
        self::$container = new $containerImpl($this);

        // If the container implementation specified does not adhere to the
        // container contract
        if (! self::$container instanceof Container) {
            throw new InvalidContainerImplementation(
                'Invalid Container implementation'
            );
        }

        // Set the dispatcher to a new instance of the dispatcher implementation
        self::$dispatcher = new $dispatcherImpl($this);

        // If the dispatcher implementation specified does not adhere to the
        // dispatcher contract
        if (! self::$dispatcher instanceof Dispatcher) {
            throw new InvalidDispatcherImplementation(
                'Invalid Dispatcher implementation'
            );
        }
    }
protected function bootstrapCore ( ) : void { // The events class to use from the config $ eventsImpl = self :: $ config [ 'app' ] [ 'events' ] ; // The container class to use from the config $ containerImpl = self :: $ config [ 'app' ] [ 'container' ] ; // The dispatcher class to use from the config $ dispatcherImpl = self :: $ config [ 'app' ] [ 'dispatcher' ] ; // Set the events to a new instance of the events implementation self :: $ events = new $ eventsImpl ( $ this ) ; // If the events implementation specified does not adhere to the events // contract if ( ! self :: $ events instanceof Events ) { throw new InvalidEventsImplementation ( 'Invalid Events implementation' ) ; } // Set the container to a new instance of the container implementation self :: $ container = new $ containerImpl ( $ this ) ; // If the container implementation specified does not adhere to the // container contract if ( ! self :: $ container instanceof Container ) { throw new InvalidContainerImplementation ( 'Invalid Container implementation' ) ; } // Set the dispatcher to a new instance of the dispatcher implementation self :: $ dispatcher = new $ dispatcherImpl ( $ this ) ; // If the dispatcher implementation specified does not adhere to the // dispatcher contract if ( ! self :: $ dispatcher instanceof Dispatcher ) { throw new InvalidDispatcherImplementation ( 'Invalid Dispatcher implementation' ) ; } }
Bootstrap core functionality.

@throws \Valkyrja\Exceptions\InvalidContainerImplementation
@throws \Valkyrja\Exceptions\InvalidDispatcherImplementation
@throws \Valkyrja\Exceptions\InvalidEventsImplementation

@return void
Bootstrap core functionality .