diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 5a1cfbe..b8f28ed 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -10,6 +10,7 @@
 use Drupal\Component\Utility\SafeMarkup;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Config\BootstrapConfigStorageFactory;
+use Drupal\Core\Requirements;
 use Drupal\Core\Logger\RfcLogLevel;
 use Drupal\Core\Test\TestDatabase;
 use Drupal\Core\Session\AccountInterface;
@@ -19,8 +20,13 @@
 
 /**
  * Minimum supported version of PHP.
+ *
+ * @deprecated in Drupal 8.5.0, will be removed before Drupal 9.0.0. Use
+ *   \Drupal\Core\Requirements::DRUPAL_MINIMUM_PHP instead.
+ *
+ * @see https://www.drupal.org/node/2909361
  */
-const DRUPAL_MINIMUM_PHP = '5.5.9';
+const DRUPAL_MINIMUM_PHP = Requirements::DRUPAL_MINIMUM_PHP;
 
 /**
  * Minimum recommended value of PHP memory_limit.
@@ -28,8 +34,13 @@
  * 64M was chosen as a minimum requirement in order to allow for additional
  * contributed modules to be installed prior to hitting the limit. However,
  * 40M is the target for the Standard installation profile.
+ *
+ * @deprecated in Drupal 8.5.0, will be removed before Drupal 9.0.0. Use
+ *   \Drupal\Core\Requirements::DRUPAL_MINIMUM_PHP_MEMORY_LIMIT instead.
+ *
+ * @see https://www.drupal.org/node/2909361
  */
-const DRUPAL_MINIMUM_PHP_MEMORY_LIMIT = '64M';
+const DRUPAL_MINIMUM_PHP_MEMORY_LIMIT = Requirements::DRUPAL_MINIMUM_PHP_MEMORY_LIMIT;
 
 /**
  * Error reporting level: display no errors.
@@ -99,8 +110,13 @@
  * Regular expression to match PHP function names.
  *
  * @see http://php.net/manual/language.functions.php
+ *
+ * @deprecated in Drupal 8.5.0, will be removed before Drupal 9.0.0. Use
+ *   \Drupal\Core\Requirements::DRUPAL_PHP_FUNCTION_PATTERN instead.
+ *
+ * @see https://www.drupal.org/node/2909361
  */
-const DRUPAL_PHP_FUNCTION_PATTERN = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*';
+const DRUPAL_PHP_FUNCTION_PATTERN = Requirements::DRUPAL_PHP_FUNCTION_PATTERN;
 
 /**
  * $config_directories key for active directory.
diff --git a/core/lib/Drupal/Core/Extension/ThemeHandler.php b/core/lib/Drupal/Core/Extension/ThemeHandler.php
index d54ff1f..00d0bef 100644
--- a/core/lib/Drupal/Core/Extension/ThemeHandler.php
+++ b/core/lib/Drupal/Core/Extension/ThemeHandler.php
@@ -3,6 +3,7 @@
 namespace Drupal\Core\Extension;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Requirements;
 use Drupal\Core\State\StateInterface;
 
 /**
@@ -276,7 +277,7 @@ public function rebuildThemeData() {
       'description' => '',
       'features' => $this->defaultFeatures,
       'screenshot' => 'screenshot.png',
-      'php' => DRUPAL_MINIMUM_PHP,
+      'php' => Requirements::DRUPAL_MINIMUM_PHP,
       'libraries' => [],
     ];
 
diff --git a/core/lib/Drupal/Core/Requirements.php b/core/lib/Drupal/Core/Requirements.php
new file mode 100644
index 0000000..8bb9162
--- /dev/null
+++ b/core/lib/Drupal/Core/Requirements.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Drupal\Core;
+
+/**
+ * Defines PHP-related constants for use with Drupal.
+ */
+class Requirements {
+
+  /**
+   * Minimum supported version of PHP.
+   */
+  const DRUPAL_MINIMUM_PHP = '5.5.9';
+
+  /**
+   * Minimum recommended value of PHP memory_limit.
+   *
+   * 64M was chosen as a minimum requirement in order to allow for additional
+   * contributed modules to be installed prior to hitting the limit. However,
+   * 40M is the target for the Standard installation profile.
+   */
+  const DRUPAL_MINIMUM_PHP_MEMORY_LIMIT = '64M';
+
+  /**
+   * Regular expression to match PHP function names.
+   *
+   * @see http://php.net/manual/language.functions.php
+   */
+  const DRUPAL_PHP_FUNCTION_PATTERN = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*';
+
+}
diff --git a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
index 8c105f2..36ba1d6 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php
@@ -361,13 +361,3 @@ protected function systemListReset() {
   }
 
 }
-
-if (!defined('DRUPAL_EXTENSION_NAME_MAX_LENGTH')) {
-  define('DRUPAL_EXTENSION_NAME_MAX_LENGTH', 50);
-}
-if (!defined('DRUPAL_PHP_FUNCTION_PATTERN')) {
-  define('DRUPAL_PHP_FUNCTION_PATTERN', '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*');
-}
-if (!defined('DRUPAL_MINIMUM_PHP')) {
-  define('DRUPAL_MINIMUM_PHP', '5.3.10');
-}
