Container.php

Same filename in this branch
  1. 8.9.x core/lib/Drupal/Core/Render/Element/Container.php
  2. 8.9.x core/lib/Drupal/Component/DependencyInjection/Container.php
Same filename in other branches
  1. 7.x misc/typo3/phar-stream-wrapper/src/Phar/Container.php
  2. 9 core/lib/Drupal/Core/Render/Element/Container.php
  3. 9 core/lib/Drupal/Core/DependencyInjection/Container.php
  4. 9 core/lib/Drupal/Component/DependencyInjection/Container.php
  5. 10 core/lib/Drupal/Core/Render/Element/Container.php
  6. 10 core/lib/Drupal/Core/DependencyInjection/Container.php
  7. 10 core/lib/Drupal/Component/DependencyInjection/Container.php
  8. 11.x core/lib/Drupal/Core/Render/Element/Container.php
  9. 11.x core/lib/Drupal/Core/DependencyInjection/Container.php
  10. 11.x core/lib/Drupal/Component/DependencyInjection/Container.php

Namespace

Drupal\Core\DependencyInjection

File

core/lib/Drupal/Core/DependencyInjection/Container.php

View source
<?php

namespace Drupal\Core\DependencyInjection;

use Drupal\Component\DependencyInjection\Container as DrupalContainer;

/**
 * Extends the Drupal container to set the service ID on the created object.
 */
class Container extends DrupalContainer {
    
    /**
     * {@inheritdoc}
     */
    public function set($id, $service) {
        parent::set($id, $service);
        // Ensure that the _serviceId property is set on synthetic services as well.
        if (isset($this->services[$id]) && is_object($this->services[$id]) && !isset($this->services[$id]->_serviceId)) {
            $this->services[$id]->_serviceId = $id;
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function __sleep() {
        assert(FALSE, 'The container was serialized.');
        return array_keys(get_object_vars($this));
    }

}

Classes

Title Deprecated Summary
Container Extends the Drupal container to set the service ID on the created object.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.