Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DrupalKernel.php

function DrupalKernel::boot

Overrides DrupalKernelInterface::boot

4 calls to DrupalKernel::boot()
DrupalKernel::handle in core/lib/Drupal/Core/DrupalKernel.php
Handles a Request to convert it to a Response.
TestRunnerKernel::boot in core/lib/Drupal/Core/Test/TestRunnerKernel.php
Boots the current kernel.
TestRunnerKernel::boot in core/lib/Drupal/Core/Test/TestRunnerKernel.php
Boots the current kernel.
UpdateKernel::handle in core/lib/Drupal/Core/Update/UpdateKernel.php
Handles a Request to convert it to a Response.
1 method overrides DrupalKernel::boot()
TestRunnerKernel::boot in core/lib/Drupal/Core/Test/TestRunnerKernel.php
Boots the current kernel.

File

core/lib/Drupal/Core/DrupalKernel.php, line 476

Class

DrupalKernel
The DrupalKernel class is the core of Drupal itself.

Namespace

Drupal\Core

Code

public function boot() {
    if ($this->booted) {
        return $this;
    }
    // Ensure that findSitePath is set.
    if (!$this->sitePath) {
        throw new \Exception('Kernel does not have site path set before calling boot()');
    }
    // Initialize the FileCacheFactory component. We have to do it here instead
    // of in \Drupal\Component\FileCache\FileCacheFactory because we can not use
    // the Settings object in a component.
    $configuration = Settings::get('file_cache');
    // Provide a default configuration, if not set.
    if (!isset($configuration['default'])) {
        // @todo Use extension_loaded('apcu') for non-testbot
        //   https://www.drupal.org/node/2447753.
        if (function_exists('apcu_fetch')) {
            $configuration['default']['cache_backend_class'] = '\\Drupal\\Component\\FileCache\\ApcuFileCacheBackend';
        }
    }
    FileCacheFactory::setConfiguration($configuration);
    FileCacheFactory::setPrefix(Settings::getApcuPrefix('file_cache', $this->root));
    $this->bootstrapContainer = new $this->bootstrapContainerClass(Settings::get('bootstrap_container_definition', $this->defaultBootstrapContainerDefinition));
    // Initialize the container.
    $this->initializeContainer();
    // Add the APCu prefix to use to cache found/not-found classes.
    if (Settings::get('class_loader_auto_detect', TRUE) && method_exists($this->classLoader, 'setApcuPrefix')) {
        // Vary the APCu key by which modules are installed to allow
        // class_exists() checks to determine functionality.
        $id = 'class_loader:' . crc32(implode(':', array_keys($this->container
            ->getParameter('container.modules'))));
        $prefix = Settings::getApcuPrefix($id, $this->root);
        $this->classLoader
            ->setApcuPrefix($prefix);
    }
    $this->booted = TRUE;
    return $this;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal