public function PhpArrayContainer::__construct in Service Container 7.2
Same name and namespace in other branches
- 7 lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php \Drupal\Component\DependencyInjection\PhpArrayContainer::__construct()
Constructs a new Container instance.
Parameters
array $container_definition: An array containing the following keys:
- aliases: The aliases of the container.
- parameters: The parameters of the container.
- services: The service definitions of the container.
- frozen: Whether the container definition came from a frozen container builder or not.
- machine_format: Whether this container definition uses the optimized machine-readable container format.
Overrides Container::__construct
File
- lib/
Drupal/ Component/ DependencyInjection/ PhpArrayContainer.php, line 34 - Contains \Drupal\Component\DependencyInjection\PhpArrayContainer.
Class
- PhpArrayContainer
- Provides a container optimized for Drupal's needs.
Namespace
Drupal\Component\DependencyInjectionCode
public function __construct(array $container_definition = array()) {
if (isset($container_definition['machine_format']) && $container_definition['machine_format'] === TRUE) {
throw new InvalidArgumentException('The machine-optimized format is not supported by this class. Use a human-readable format instead, e.g. as produced by \\Drupal\\Component\\DependencyInjection\\Dumper\\PhpArrayDumper.');
}
// Do not call the parent's constructor as it would bail on the
// machine-optimized format.
$this->aliases = isset($container_definition['aliases']) ? $container_definition['aliases'] : array();
$this->parameters = isset($container_definition['parameters']) ? $container_definition['parameters'] : array();
$this->serviceDefinitions = isset($container_definition['services']) ? $container_definition['services'] : array();
$this->frozen = isset($container_definition['frozen']) ? $container_definition['frozen'] : FALSE;
// Register the service_container with itself.
$this->services['service_container'] = $this;
}