diff --git a/core/lib/Drupal/Core/Extension/ModuleInstaller.php b/core/lib/Drupal/Core/Extension/ModuleInstaller.php index 0dfe322..6d605e8 100644 --- a/core/lib/Drupal/Core/Extension/ModuleInstaller.php +++ b/core/lib/Drupal/Core/Extension/ModuleInstaller.php @@ -175,12 +175,13 @@ public function install(array $module_list, $enable_dependencies = TRUE) { // Update the module handler in order to load the module's code. // This allows the module to participate in hooks and its existence to - // be discovered by other modules. + // be discovered by other modules. The module code ("$module.module" and + // "$module.install" files) are loaded only after the kernel rebuild in + // order to make the PSR4 namespaces provided by this module available + // to its own code. // The current ModuleHandler instance is obsolete with the kernel // rebuild below. $this->moduleHandler->setModuleList($module_filenames); - $this->moduleHandler->load($module); - module_load_install($module); // Clear the static cache of system_rebuild_module_data() to pick up the // new module, since it merges the installation status of modules into @@ -190,6 +191,10 @@ public function install(array $module_list, $enable_dependencies = TRUE) { // Update the kernel to include it. $this->updateKernel($module_filenames); + // Load the module code ("$module.module" and "$module.install" files). + $this->moduleHandler->load($module); + module_load_install($module); + // Allow modules to react prior to the installation of a module. $this->moduleHandler->invokeAll('module_preinstall', array($module)); diff --git a/core/modules/aggregator/aggregator.module b/core/modules/aggregator/aggregator.module index d4adae4..5180b75 100644 --- a/core/modules/aggregator/aggregator.module +++ b/core/modules/aggregator/aggregator.module @@ -6,6 +6,7 @@ */ use Drupal\aggregator\Entity\Feed; +use Drupal\aggregator\FeedStorageInterface; use Drupal\Core\Routing\RouteMatchInterface; /** @@ -14,7 +15,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\aggregator\FeedStorageInterface::CLEAR_NEVER instead. */ -const AGGREGATOR_CLEAR_NEVER = 0; +const AGGREGATOR_CLEAR_NEVER = FeedStorageInterface::CLEAR_NEVER; /** * Implements hook_help(). diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module index 0614d81..7ed1932 100644 --- a/core/modules/comment/comment.module +++ b/core/modules/comment/comment.module @@ -32,7 +32,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\comment\CommentInterface::ANONYMOUS_MAYNOT_CONTACT instead. */ -const COMMENT_ANONYMOUS_MAYNOT_CONTACT = 0; +const COMMENT_ANONYMOUS_MAYNOT_CONTACT = CommentInterface::ANONYMOUS_MAYNOT_CONTACT; /** * Anonymous posters may leave their contact information. @@ -40,7 +40,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\comment\CommentInterface::ANONYMOUS_MAY_CONTACT instead. */ -const COMMENT_ANONYMOUS_MAY_CONTACT = 1; +const COMMENT_ANONYMOUS_MAY_CONTACT = CommentInterface::ANONYMOUS_MAY_CONTACT; /** * Anonymous posters are required to leave their contact information. @@ -48,7 +48,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\comment\CommentInterface::ANONYMOUS_MUST_CONTACT instead. */ -const COMMENT_ANONYMOUS_MUST_CONTACT = 2; +const COMMENT_ANONYMOUS_MUST_CONTACT = CommentInterface::ANONYMOUS_MUST_CONTACT; /** * The time cutoff for comments marked as read for entity types other node. diff --git a/core/modules/menu_ui/menu_ui.module b/core/modules/menu_ui/menu_ui.module index bbd8669..79cdcab 100644 --- a/core/modules/menu_ui/menu_ui.module +++ b/core/modules/menu_ui/menu_ui.module @@ -17,6 +17,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\menu_link_content\Entity\MenuLinkContent; +use Drupal\Core\Menu\MenuLinkManagerInterface; use Drupal\node\NodeTypeInterface; use Drupal\system\Entity\Menu; use Drupal\node\NodeInterface; @@ -30,7 +31,7 @@ * Use \Drupal\Core\Menu\MenuLinkManagerInterface::MAX_MENU_NAME_LENGTH_UI * instead. */ -const MENU_MAX_MENU_NAME_LENGTH_UI = 27; +const MENU_MAX_MENU_NAME_LENGTH_UI = MenuLinkManagerInterface::MAX_MENU_NAME_LENGTH_UI; /** * Implements hook_help(). diff --git a/core/modules/node/node.module b/core/modules/node/node.module index fbd1fb4..620afd6 100644 --- a/core/modules/node/node.module +++ b/core/modules/node/node.module @@ -35,7 +35,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::NOT_PUBLISHED instead. */ -const NODE_NOT_PUBLISHED = 0; +const NODE_NOT_PUBLISHED = NodeInterface::NOT_PUBLISHED; /** * Denotes that the node is published. @@ -43,7 +43,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::PUBLISHED instead. */ -const NODE_PUBLISHED = 1; +const NODE_PUBLISHED = NodeInterface::PUBLISHED; /** * Denotes that the node is not promoted to the front page. @@ -51,7 +51,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::NOT_PROMOTED instead. */ -const NODE_NOT_PROMOTED = 0; +const NODE_NOT_PROMOTED = NodeInterface::NOT_PROMOTED; /** * Denotes that the node is promoted to the front page. @@ -59,7 +59,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::PROMOTED instead. */ -const NODE_PROMOTED = 1; +const NODE_PROMOTED = NodeInterface::PROMOTED; /** * Denotes that the node is not sticky at the top of the page. @@ -67,7 +67,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::NOT_STICKY instead. */ -const NODE_NOT_STICKY = 0; +const NODE_NOT_STICKY = NodeInterface::NOT_STICKY; /** * Denotes that the node is sticky at the top of the page. @@ -75,7 +75,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\node\NodeInterface::STICKY instead. */ -const NODE_STICKY = 1; +const NODE_STICKY = NodeInterface::STICKY; /** * Implements hook_help(). diff --git a/core/modules/responsive_image/responsive_image.module b/core/modules/responsive_image/responsive_image.module index 4cd5cb1..4f88cad 100644 --- a/core/modules/responsive_image/responsive_image.module +++ b/core/modules/responsive_image/responsive_image.module @@ -11,6 +11,7 @@ use Drupal\Core\Routing\RouteMatchInterface; use Drupal\image\Entity\ImageStyle; use Drupal\responsive_image\Entity\ResponsiveImageStyle; +use Drupal\responsive_image\ResponsiveImageStyleInterface; use Drupal\Core\Image\ImageInterface; use Drupal\breakpoint\BreakpointInterface; @@ -22,8 +23,8 @@ * and \Drupal\responsive_image\ResponsiveImageStyleInterface::ORIGINAL_IMAGE * instead. */ -const RESPONSIVE_IMAGE_EMPTY_IMAGE = '_empty image_'; -const RESPONSIVE_IMAGE_ORIGINAL_IMAGE = '_original image_'; +const RESPONSIVE_IMAGE_EMPTY_IMAGE = ResponsiveImageStyleInterface::EMPTY_IMAGE; +const RESPONSIVE_IMAGE_ORIGINAL_IMAGE = ResponsiveImageStyleInterface::ORIGINAL_IMAGE; /** * Implements hook_help(). diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 1c77e23..13558c2 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -13,6 +13,7 @@ use Drupal\Core\Database\Query\AlterableInterface; use Drupal\Core\Extension\Extension; use Drupal\Core\Extension\ExtensionDiscovery; +use Drupal\Core\Form\FormInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\KeyValueStore\KeyValueDatabaseExpirableFactory; use Drupal\Core\PageCache\RequestPolicyInterface; @@ -58,7 +59,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\Core\Form\FormInterface::DISABLED instead. */ -const DRUPAL_DISABLED = 0; +const DRUPAL_DISABLED = FormInterface::DISABLED; /** * Optional option on forms and settings. @@ -66,7 +67,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\Core\Form\FormInterface::OPTIONAL instead. */ -const DRUPAL_OPTIONAL = 1; +const DRUPAL_OPTIONAL = FormInterface::OPTIONAL; /** * Required option on forms and settings. @@ -74,7 +75,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\Core\Form\FormInterface::REQUIRED instead. */ -const DRUPAL_REQUIRED = 2; +const DRUPAL_REQUIRED = FormInterface::REQUIRED; /** * Return only visible regions. diff --git a/core/modules/update/update.module b/core/modules/update/update.module index f280e01..1a5711b 100644 --- a/core/modules/update/update.module +++ b/core/modules/update/update.module @@ -15,6 +15,8 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Site\Settings; +use Drupal\update\UpdateFetcherInterface; +use Drupal\update\UpdateManagerInterface; /* * These are internally used constants for this code, do not modify. @@ -26,7 +28,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateManagerInterface::NOT_SECURE instead. */ -const UPDATE_NOT_SECURE = 1; +const UPDATE_NOT_SECURE = UpdateManagerInterface::NOT_SECURE; /** * Current release has been unpublished and is no longer available. @@ -34,7 +36,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateManagerInterface::REVOKED instead. */ -const UPDATE_REVOKED = 2; +const UPDATE_REVOKED = UpdateManagerInterface::REVOKED; /** * Current release is no longer supported by the project maintainer. @@ -42,7 +44,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateManagerInterface::NOT_SUPPORTED instead. */ -const UPDATE_NOT_SUPPORTED = 3; +const UPDATE_NOT_SUPPORTED = UpdateManagerInterface::NOT_SUPPORTED; /** * Project has a new release available, but it is not a security release. @@ -50,7 +52,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateManagerInterface::NOT_CURRENT instead. */ -const UPDATE_NOT_CURRENT = 4; +const UPDATE_NOT_CURRENT = UpdateManagerInterface::NOT_CURRENT; /** * Project is up to date. @@ -58,7 +60,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateManagerInterface::CURRENT instead. */ -const UPDATE_CURRENT = 5; +const UPDATE_CURRENT = UpdateManagerInterface::CURRENT; /** * Project's status cannot be checked. @@ -66,7 +68,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateFetcherInterface::NOT_CHECKED instead. */ -const UPDATE_NOT_CHECKED = -1; +const UPDATE_NOT_CHECKED = UpdateFetcherInterface::NOT_CHECKED; /** * No available update data was found for project. @@ -74,7 +76,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateFetcherInterface::UNKNOWN instead. */ -const UPDATE_UNKNOWN = -2; +const UPDATE_UNKNOWN = UpdateFetcherInterface::UNKNOWN; /** * There was a failure fetching available update data for this project. @@ -82,7 +84,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateFetcherInterface::NOT_FETCHED instead. */ -const UPDATE_NOT_FETCHED = -3; +const UPDATE_NOT_FETCHED = UpdateFetcherInterface::NOT_FETCHED; /** * We need to (re)fetch available update data for this project. @@ -90,7 +92,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\update\UpdateFetcherInterface::FETCH_PENDING instead. */ -const UPDATE_FETCH_PENDING = -4; +const UPDATE_FETCH_PENDING = UpdateFetcherInterface::FETCH_PENDING; /** * Implements hook_help(). diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 969ef89..26f7685 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -32,7 +32,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\user\UserInterface::USERNAME_MAX_LENGTH instead. */ -const USERNAME_MAX_LENGTH = 60; +const USERNAME_MAX_LENGTH = UserInterface::USERNAME_MAX_LENGTH; /** * Only administrators can create user accounts. @@ -40,7 +40,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\user\UserInterface::REGISTER_ADMINISTRATORS_ONLY instead. */ -const USER_REGISTER_ADMINISTRATORS_ONLY = 'admin_only'; +const USER_REGISTER_ADMINISTRATORS_ONLY = UserInterface::REGISTER_ADMINISTRATORS_ONLY; /** * Visitors can create their own accounts. @@ -48,7 +48,7 @@ * @deprecated in Drupal 8.3.x and will be removed before Drupal 9.0.x. * Use \Drupal\user\UserInterface::REGISTER_VISITORS instead. */ -const USER_REGISTER_VISITORS = 'visitors'; +const USER_REGISTER_VISITORS = UserInterface::REGISTER_VISITORS; /** * Visitors can create accounts, but they don't become active without @@ -58,7 +58,7 @@ * Use \Drupal\user\UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL * instead. */ -const USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL = 'visitors_admin_approval'; +const USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL = UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL; /** * Implements hook_help().