TL; DR: Да.
По умолчанию composer использует версию исполняемого файла php, чтобы определить, какую версию пакета установить. Это можно переопределить в разделе config
файла composer.json, например:
"config": {
"vendor-dir": "vendor",
"platform": {
"php": "5.6"
}
}
Когда кому-то требуется ваш пакет, эта версия сравнивается с той, которая указана в списке требований вашего пакета composer.json:
"require": {
"php": ">=7.2.0",
}
Так что, если, например, версия 1 вашего пакета требует php 5.6, а версия 2 требует php 7.0, у того, кто запускает composer require your-package
с php 5.6, будет установлена версия 1. Если кто-то запустит его с более старой версией, чем требуется для любой из ваших версий, он получит сообщение об ошибке, в котором говорится, что компоновщик не может найти пакет, который удовлетворяет всем требованиям, в том числе версия php.