public function setup(array $config = null, bool $force = false): void
    {
        // If the application was already setup, no need to do it again
        if (self::$setup && false === $force) {
            return;
        }

        // Avoid re-setting up the app later
        self::$setup = true;
        // Set the app static
        self::$app = $this;
        // Ensure the env has been set
        self::setEnv();

        // If the VALKYRJA_START constant hasn't already been set
        if (! \defined('VALKYRJA_START')) {
            // Set a global constant for when the framework started
            \define('VALKYRJA_START', microtime(true));
        }

        // Bootstrap debug capabilities
        $this->bootstrapConfig($config);
        // Bootstrap debug capabilities
        $this->bootstrapDebug();
        // Bootstrap core functionality
        $this->bootstrapCore();
        // Bootstrap the container
        $this->bootstrapContainer();
        // Bootstrap setup
        $this->bootstrapSetup();
        // Bootstrap the timezone
        $this->bootstrapTimezone();
    }
public function setup(array $config = null, bool $force = false): void
    {
        // If the application was already setup, no need to do it again
        if (self::$setup && false === $force) {
            return;
        }

        // Avoid re-setting up the app later
        self::$setup = true;
        // Set the app static
        self::$app = $this;
        // Ensure the env has been set
        self::setEnv();

        // If the VALKYRJA_START constant hasn't already been set
        if (! \defined('VALKYRJA_START')) {
            // Set a global constant for when the framework started
            \define('VALKYRJA_START', microtime(true));
        }

        // Bootstrap debug capabilities
        $this->bootstrapConfig($config);
        // Bootstrap debug capabilities
        $this->bootstrapDebug();
        // Bootstrap core functionality
        $this->bootstrapCore();
        // Bootstrap the container
        $this->bootstrapContainer();
        // Bootstrap setup
        $this->bootstrapSetup();
        // Bootstrap the timezone
        $this->bootstrapTimezone();
    }
public function setup ( array $ config = null , bool $ force = false ) : void { // If the application was already setup, no need to do it again if ( self :: $ setup && false === $ force ) { return ; } // Avoid re-setting up the app later self :: $ setup = true ; // Set the app static self :: $ app = $ this ; // Ensure the env has been set self :: setEnv ( ) ; // If the VALKYRJA_START constant hasn't already been set if ( ! \ defined ( 'VALKYRJA_START' ) ) { // Set a global constant for when the framework started \ define ( 'VALKYRJA_START' , microtime ( true ) ) ; } // Bootstrap debug capabilities $ this -> bootstrapConfig ( $ config ) ; // Bootstrap debug capabilities $ this -> bootstrapDebug ( ) ; // Bootstrap core functionality $ this -> bootstrapCore ( ) ; // Bootstrap the container $ this -> bootstrapContainer ( ) ; // Bootstrap setup $ this -> bootstrapSetup ( ) ; // Bootstrap the timezone $ this -> bootstrapTimezone ( ) ; }
Setup the application.

@param array $config [optional] The config to use
@param bool  $force  [optional] Whether to force a setup

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

@return void
Setup the application .