Size: a a a

2021 March 05

А

Алексей R in Yii Framework 3
Alexander Borisov
С ^0.1.0 ты не обновишь до 0.2.0
да, тут следовало с 1.0 и 1.1 примеры приводить )
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
Например, в конфиге пакета 0.1.0:
MyInterface::class => MyImplementation::class

В приложении используется MyInterface и всё работает.

В конфиге пакета 0.2.0 конфигурация этого интерфейса убирается. Пакет работает отлично.

Но после обновления, моё приложение уже не будет работать, так как не сможет получить реализацию интерфейса.
Поздравляю, ты сломал обратную совместимость, так как интерфейс это контракт, а ты его удалил. ССЗБ
источник

AB

Alexander Borisov in Yii Framework 3
Сергей Предводителев
Конфиги - это не код... менять мажорную версию из-за конфигов - не правильно.
Вот поэтому я за выделение отдельного модуля для пакетов, тогда конфиги были бы частью интерьфейса и у них можно было бы менять версии
источник

А

Алексей R in Yii Framework 3
Nex Otaku
Поздравляю, ты сломал обратную совместимость, так как интерфейс это контракт, а ты его удалил. ССЗБ
имеется ввиду, что удалилось только определение из конфига. Т.е. поменялся только конфиг. А код остался прежним
источник

NO

Nex Otaku in Yii Framework 3
Неспособность отдельных авторов пакетов корректно разруливать проблемы обратной совместимости — не повод чтобы изуродовать приложение и сделать из него посмешище "Yii 3 100500 конфигов"
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Поздравляю, ты сломал обратную совместимость, так как интерфейс это контракт, а ты его удалил. ССЗБ
Я не удалял интерфейс, я удалил его из конфига
источник

NO

Nex Otaku in Yii Framework 3
Alexander Borisov
Вот поэтому я за выделение отдельного модуля для пакетов, тогда конфиги были бы частью интерьфейса и у них можно было бы менять версии
Конфиг это часть кода, точно такая же как классы, интерфейсы.
источник

NO

Nex Otaku in Yii Framework 3
Версия конфига как и класса, интерфейса будет меняться вместе с версией пакета.
источник

NO

Nex Otaku in Yii Framework 3
Нефиг сущности плодить (
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Конфиг это часть кода, точно такая же как классы, интерфейсы.
Этот конфиг специфичен под конкретную реализацию DI и конфиг-плагин.
источник

AB

Alexander Borisov in Yii Framework 3
Nex Otaku
Конфиг это часть кода, точно такая же как классы, интерфейсы.
В контексте пакетов yii - нет
источник

AB

Alexander Borisov in Yii Framework 3
Nex Otaku
Конфиг это часть кода, точно такая же как классы, интерфейсы.
тогда все пакеты должны зависеть от yiisoft/di потому что конфиги под него пишуться
источник

NO

Nex Otaku in Yii Framework 3
Alexander Borisov
В контексте пакетов yii - нет
В любом контексте. Если авторы пакетов Yii не могут понять что конфиг это не часть кода, то их надо этому научить.
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
Этот конфиг специфичен под конкретную реализацию DI и конфиг-плагин.
Нет. Есть дефолтная реализация конфигов от автора фреймворка. И 99% пользователей будет начинать с неё. Откреститься "это не наше дело, мы вообще для DI писали" это такое себе. Надо думать как этим будут пользоваться.
источник

СП

Сергей Предводителев... in Yii Framework 3
Это компромис.
Если идеально делать, то нужно делать два пакета: без конфига и с конфигами.
источник

А

Алексей R in Yii Framework 3
Nex Otaku
В любом контексте. Если авторы пакетов Yii не могут понять что конфиг это не часть кода, то их надо этому научить.
Были бы конфиги классами, это было бы очевидно. А сейчас не понятно, что делать при изменении только конфигов ) инкрементить мажорную версию? минорную?
источник

NO

Nex Otaku in Yii Framework 3
Сергей Предводителев
Это компромис.
Если идеально делать, то нужно делать два пакета: без конфига и с конфигами.
Зачем?
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Зачем?
потому что конфиги под конкретную реализацию DI и конфиг плагин .
И эти вещи в пакете с конфигами делать в require
источник

NO

Nex Otaku in Yii Framework 3
Алексей R
Были бы конфиги классами, это было бы очевидно. А сейчас не понятно, что делать при изменении только конфигов ) инкрементить мажорную версию? минорную?
Мозг включать. Ломается обратная совместимость или не ломается? Семантическое версионирование придумали для кого? Слишком сложно? Ну блин, не разрабатывайте пакеты. Или обновляйте как хотите и не заявляйте что ваш пакет надёжен и поддерживает семвер.
источник

А

Алексей R in Yii Framework 3
Nex Otaku
Мозг включать. Ломается обратная совместимость или не ломается? Семантическое версионирование придумали для кого? Слишком сложно? Ну блин, не разрабатывайте пакеты. Или обновляйте как хотите и не заявляйте что ваш пакет надёжен и поддерживает семвер.
всё относительно )
источник