diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/ModifyServiceDefinitionsPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/ModifyServiceDefinitionsPass.php index 25614e3..8ecded9 100644 --- a/core/lib/Drupal/Core/DependencyInjection/Compiler/ModifyServiceDefinitionsPass.php +++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/ModifyServiceDefinitionsPass.php @@ -28,7 +28,13 @@ public function process(ContainerBuilder $container) { if (!($kernel instanceof DrupalKernelInterface)) { return; } - $providers = $kernel->getServiceProviders(); + $providers = $kernel->getServiceProviders('app'); + foreach ($providers as $provider) { + if ($provider instanceof ServiceModifierInterface) { + $provider->alter($container); + } + } + $providers = $kernel->getServiceProviders('site'); foreach ($providers as $provider) { if ($provider instanceof ServiceModifierInterface) { $provider->alter($container); diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php index 35341ce..f286615 100644 --- a/core/lib/Drupal/Core/DrupalKernel.php +++ b/core/lib/Drupal/Core/DrupalKernel.php @@ -259,7 +259,7 @@ public function discoverServiceProviders() { if (!empty($GLOBALS['conf']['container_yamls'])) { $this->serviceYamls['site'] = $GLOBALS['conf']['container_yamls']; } - if ($exists = file_exists($site_services_yml = conf_path() . '/services.yml')) { + if (file_exists($site_services_yml = conf_path() . '/services.yml')) { $this->serviceYamls['site'][] = $site_services_yml; } } @@ -267,8 +267,8 @@ public function discoverServiceProviders() { /** * {@inheritdoc} */ - public function getServiceProviders() { - return $this->serviceProviders; + public function getServiceProviders($origin) { + return $this->serviceProviders[$origin]; } /** diff --git a/core/lib/Drupal/Core/DrupalKernelInterface.php b/core/lib/Drupal/Core/DrupalKernelInterface.php index 544b44c..1e2ed07 100644 --- a/core/lib/Drupal/Core/DrupalKernelInterface.php +++ b/core/lib/Drupal/Core/DrupalKernelInterface.php @@ -38,10 +38,13 @@ public function discoverServiceProviders(); /** * Returns all registered service providers. * + * @param string $origin + * The origin for which to return service providers; one of 'app' or 'site'. + * * @return array * An associative array of ServiceProvider objects, keyed by name. */ - public function getServiceProviders(); + public function getServiceProviders($origin); /** * Gets the current container.