Вопрос

У меня есть пакет композитора PHP, который требует "illuminate/support":"4.1.*" для использования с интеграцией Laravel 4.1.У меня есть новый проект Laravel, версия которого сейчас 4.2.*.Я считаю, что теперь мне нужно обновить пакет, чтобы он требовал "illuminate/support":"4.2.*" (из-за ошибок композитора).Как лучше всего сохранить поддержку Laravel v4.1 и v4.2 в пакете?

Вот мой композиторский пакет composer.jsonфайл:

{
    "name": "appointedd/appointedd-php",
    "description": "",
    "authors": [
        {
            "name": "Billy Jones",
            "email": "billy@appointedd.com"
        }
    ],
    "require": {
        "php": ">=5.3.0",
        "illuminate/support": "4.1.*",
        "guzzlehttp/guzzle": "~4.0"
    },
    "autoload": {
        "psr-0": {
            "Appointedd\\Appointedd": "src/"
        }
    },
    "minimum-stability": "stable"
}

В настоящее время он помечен как версия 0.0.3.Должен ли я обновить composer.json файлу требуется версия 4.2.* и пометьте его 0.1.0 или использовать более значимое имя?

Это было полезно?

Решение

Вопрос в том, какие различия между 4.1 и 4.2, что нужно поддерживать по-разному.Семантическое управление версиями должно гарантировать, что в более новых второстепенных версиях будут представлены только BC-совместимые функции и исправлены ошибки.

Что касается вашего вопроса, вы можете включить диапазон версий в свой composer.json файл, как описано здесь:

Диапазон> = 1,0> = 1,0, <2,0> = 1,0, <1,1 | > = 1.2, используя операторы сравнения, вы можете указать диапазоны допустимых версий.Допустимые операторы>,> =, <, <=,! =.Вы можете определить несколько диапазонов, разделенных запятой, которая будет рассматриваться как логическая и.Символ трубы | будет рассматриваться как логичный или.AND имеет более высокий приоритет, чем OR.

В вашей ситуации это будет что-то вроде:

"illuminate/support": ">=4.1.0,<4.3",
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top