You are here

public function ActiveTheme::__construct in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Theme/ActiveTheme.php \Drupal\Core\Theme\ActiveTheme::__construct()

Constructs an ActiveTheme object.

Parameters

array $values: The properties of the object, keyed by the names.

File

core/lib/Drupal/Core/Theme/ActiveTheme.php, line 117

Class

ActiveTheme
Defines a theme and its information needed at runtime.

Namespace

Drupal\Core\Theme

Code

public function __construct(array $values) {
  $values += [
    'path' => '',
    'engine' => 'twig',
    'owner' => 'twig',
    'logo' => '',
    'stylesheets_remove' => [],
    'libraries' => [],
    'extension' => 'html.twig',
    'base_theme_extensions' => [],
    'regions' => [],
    'libraries_override' => [],
    'libraries_extend' => [],
  ];
  $this->name = $values['name'];
  $this->logo = $values['logo'];
  $this->path = $values['path'];
  $this->engine = $values['engine'];
  $this->owner = $values['owner'];
  $this->styleSheetsRemove = $values['stylesheets_remove'];
  $this->libraries = $values['libraries'];
  $this->extension = $values['extension'];
  $this->baseThemeExtensions = $values['base_theme_extensions'];
  if (!empty($values['base_themes']) && empty($this->baseThemeExtensions)) {
    @trigger_error("The 'base_themes' key is deprecated in Drupal 8.7.0  and support for it will be removed in Drupal 9.0.0. Use 'base_theme_extensions' instead. See https://www.drupal.org/node/3019948", E_USER_DEPRECATED);
    foreach ($values['base_themes'] as $base_theme) {
      $this->baseThemeExtensions[$base_theme
        ->getName()] = $base_theme
        ->getExtension();
    }
  }
  $this->regions = $values['regions'];
  $this->librariesOverride = $values['libraries_override'];
  $this->librariesExtend = $values['libraries_extend'];
}