/** * @param ServiceContainer $container * @throws KernelException */ public function build(ServiceContainer $container) { foreach ($this->extensions as $extension) { foreach ($extension->dependsOn() as $expectedExtensionClass) { if (!array_key_exists($expectedExtensionClass, $this->extensions)) { throw KernelException::missingExtension($expectedExtensionClass); } } } foreach ($this->extensions as $extension) { $extension->build($container); } }