Поддержка как guzzle 6, так и guzzle 7 в PHP SDK для разных клиентов

#php #sdk #guzzle #guzzle6

Вопрос:

У меня есть приложение, которое имеет зависимость от guzzle v6, а минимальная версия PHP-5.5.9. Composer JSON выглядит так:

 "require": {
    "php": ">=5.5.9",
    "guzzlehttp/guzzle": "~6"
}
 

Я хочу поддержать guzzle 7 в своем приложении. Я попытался изменить зависимость, как

 "require": {
    "php": ">=5.5.9",
    "guzzlehttp/guzzle": "~6|~7"
}
 

После этого я попробовал обновить composer, используя две разные версии PHP(5.6 и 7.2). Когда я попробовал с 7.2 жрать 7 устанавливается, а с PHP 5.6 жрать 6 устанавливается.
Я хочу знать, как я могу поддерживать guzzle 7 без увеличения минимальной версии для поддержки существующих клиентов.

Будет ли вышеуказанное решение работать для клиентов, которые хотят поглотить 7(при наличии PHP > 7.2) и без нарушения существующих клиентов?