Перейти к содержимому

Обратная совместимость

В патч-релизах вида 2.x.y.Z обратная совместимость строго не нарушается. В минорных релизах вида 2.x.Y мы стараемся избегать несовместимых изменений, но исправлять их приходится.

Подробнее о нумерации версий в Версионирование Yii.

Сценарий использованияBC?
Type hint с интерфейсомДа
Вызов метода интерфейсаДа
Реализация интерфейса и…
Реализация методаДа
Добавление аргумента к реализованному методуДа
Добавление значения по умолчанию к аргументуДа
Сценарий использованияBC?
Type hint с классомДа
Создание нового экземпляраДа
Наследование классаДа
Доступ к public свойствуДа
Вызов public методаДа
Наследование класса и…
Доступ к protected свойствуДа
Вызов protected методаДа
Переопределение public свойстваДа
Переопределение protected свойстваДа
Переопределение public методаДа
Переопределение protected методаДа
Добавление нового свойстваНет
Добавление нового методаНет
Добавление аргумента к переопределённому методуДа
Добавление значения по умолчанию к аргументуДа
Вызов private метода (через Reflection)Нет
Доступ к private свойству (через Reflection)Нет
Тип измененияBC?
УдалениеНет
Изменение имени или namespaceНет
Добавление родительского интерфейсаДа, если не добавляются новые методы
Удаление родительского интерфейсаНет
Методы интерфейса
Добавление методаНет
Удаление методаНет
Изменение имениНет
Перемещение в родительский интерфейсДа
Добавление аргумента без значения по умолчаниюНет
Добавление аргумента со значением по умолчаниюНет
Удаление аргументаДа (только последних)
Добавление значения по умолчанию к аргументуНет
Удаление значения по умолчанию у аргументаНет
Добавление type hint к аргументуНет
Удаление type hint у аргументаНет
Изменение типа аргументаНет
Изменение типа возвращаемого значенияНет
Константы
Добавление константыДа
Удаление константыНет
Изменение значения константыДа, кроме объектов, которые могут сериализоваться. Обязательно документировать в UPGRADE.md.
Тип измененияBC?
УдалениеНет
Сделать finalНет
Сделать abstractНет
Изменение имени или namespaceНет
Изменение родительского классаДа, но оригинальный родитель должен остаться предком класса.
Добавление интерфейсаДа
Удаление интерфейсаНет
Public свойства
Добавление public свойстваДа
Удаление public свойстваНет
Сужение видимостиНет
Перемещение в родительский классДа
Protected свойства
Добавление protected свойстваДа
Удаление protected свойстваНет
Сужение видимостиНет
Перемещение в родительский классДа
Private свойства
Добавление private свойстваДа
Удаление private свойстваДа
Конструкторы
Удаление конструктораНет
Сужение видимости public конструктораНет
Сужение видимости protected конструктораНет
Перемещение в родительский классДа
Public методы
Добавление public методаДа
Удаление public методаНет
Изменение имениНет
Сужение видимостиНет
Перемещение в родительский классДа
Добавление аргумента без значения по умолчаниюНет
Добавление аргумента со значением по умолчаниюНет
Удаление аргументовДа, только последних
Добавление значения по умолчанию к аргументуНет
Удаление значения по умолчанию у аргументаНет
Добавление type hint к аргументуНет
Удаление type hint у аргументаНет
Изменение типа аргументаНет
Изменение типа возвращаемого значенияНет
Protected методы
Добавление protected методаДа
Удаление protected методаНет
Изменение имениНет
Сужение видимостиНет
Перемещение в родительский классДа
Добавление аргумента без значения по умолчаниюНет
Добавление аргумента со значением по умолчаниюНет
Удаление аргументовДа, только последних
Добавление значения по умолчанию к аргументуНет
Удаление значения по умолчанию у аргументаНет
Добавление type hint к аргументуНет
Удаление type hint у аргументаНет
Изменение типа аргументаНет
Изменение типа возвращаемого значенияНет
Private методы
Добавление private методаДа
Удаление private методаДа
Изменение имениДа
Добавление аргумента без значения по умолчаниюДа
Добавление аргумента со значением по умолчаниюДа
Удаление аргументаДа
Добавление значения по умолчанию к аргументуДа
Удаление значения по умолчанию у аргументаДа
Добавление type hint к аргументуДа
Удаление type hint у аргументаДа
Изменение типа аргументаДа
Изменение типа возвращаемого значенияДа
Статические методы
Сделать нестатический статическимНет
Сделать статический нестатическимНет
Константы
Добавление константыДа
Удаление константыНет
Изменение значения константыДа, кроме объектов, которые могут сериализоваться. Обязательно документировать в UPGRADE.md.