<?php
const FIRST_CORE_VERSION_REQUIREMENT_SUPPORTED_VERSION = '8.7.7';
function getAllPreCoreVersionRequirementCoreVersions() {
static $versions = [];
if (empty($versions)) {
// Loop through all minor versions including 8.7.
foreach (range(0, 7) as $minor) {
// The largest patch number in a release was 17 in 8.6.17. Use 27 to
// leave room for future security releases.
foreach (range(0, 27) as $patch) {
$patch_version = "8.$minor.$patch";
if ($patch_version === FIRST_CORE_VERSION_REQUIREMENT_SUPPORTED_VERSION) {
// Reverse the order of the versions so that they will be evaluated
// from the most recent versions first.
$versions = array_reverse($versions);
return $versions;
}
$versions[] = $patch_version;
if ($patch === 0) {
foreach (['alpha', 'beta', 'rc'] as $prerelease) {
// The largest prerelease number was in 8.0.0-beta16.
foreach (range(0, 16) as $prerelease_number) {
$versions[] = "$patch_version-$prerelease$prerelease_number";
}
}
}
}
}
}
return $versions;
}
var_dump(count(getAllPreCoreVersionRequirementCoreVersions()));