@ -648,14 +648,34 @@ EOF;
return implode('.', $chunks);
};
$lowestOperator = $lowestPhpVersion->isInclusive() ? '>=' : '>';
$highestOperator = $highestPhpVersion->isInclusive() ? '< =' : '< ';
$lowestPhpVersionId = $formatToPhpVersionId($lowestPhpVersion);
$highestPhpVersionId = $formatToPhpVersionId($highestPhpVersion);
$lowestPhpVersion = $formatToHumanReadable($lowestPhpVersion);
$highestPhpVersion = $formatToHumanReadable($highestPhpVersion);
$requiredExtensions = implode('', $requiredExtensions);
$requiredPhp = array();
$requiredPhpError = array();
if (!$lowestPhpVersion->isZero()) {
$operator = $lowestPhpVersion->isInclusive() ? '>=' : '>';
$requiredPhp[] = 'PHP_VERSION_ID '.$operator.' '.$formatToPhpVersionId($lowestPhpVersion);
$requiredPhpError[] = '"'.$operator.' '.$formatToHumanReadable($lowestPhpVersion).'"';
}
if (!$highestPhpVersion->isPositiveInfinity()) {
$operator = $highestPhpVersion->isInclusive() ? '< =' : '< ';
$requiredPhp[] = 'PHP_VERSION_ID '.$operator.' '.$formatToPhpVersionId($highestPhpVersion);
$requiredPhpError[] = '"'.$operator.' '.$formatToHumanReadable($highestPhpVersion).'"';
}
if ($requiredPhp) {
$requiredPhp = implode(' & & ', $requiredPhp);
$requiredPhpError = implode(' and ', $requiredPhpError);
$requiredPhp = < < < PHP_CHECK
if (!($requiredPhp)) {
\$issues[] = 'Your Composer dependencies require a PHP version $requiredPhpError. You are running ' . PHP_VERSION . '.';
}
PHP_CHECK;
} else {
$requiredPhp = '';
}
$requiredExtensions = implode('', $requiredExtensions);
if ('' !== $requiredExtensions) {
$requiredExtensions = < < < EXT_CHECKS
@ -674,11 +694,7 @@ EXT_CHECKS;
// platform_check.php @generated by Composer
\$issues = array();
if (!(PHP_VERSION_ID $lowestOperator $lowestPhpVersionId & & PHP_VERSION_ID $highestOperator $highestPhpVersionId)) {
\$issues[] = 'Your Composer dependencies require a PHP version "$lowestOperator $lowestPhpVersion" and "$highestOperator $highestPhpVersion". You are running ' . PHP_VERSION . '.';
}
$requiredExtensions
${requiredPhp}${requiredExtensions}
if (\$issues) {
echo 'Composer detected issues in your platform:' . "\\n\\n" . implode("\\n", \$issues);
exit(104);