Przejdź do głównej zawartości

Wsteczna kompatybilność

Absolutnie nie łamiemy wstecznej kompatybilności w wydaniach - łatach typu 2.x.y.Z i staramy się unikać koniecznych do wprowadzenia zmian niekompatybilnych wstecznie w pomniejszych wydaniach typu 2.x.Y.

Zapoznaj się z sekcją Wersjonowanie Yii, aby dowiedzieć się więcej o numerowaniu wersji.

Przypadek użyciaŁamie kompatybilność wsteczną?
Informacja o zwracanym typie w intefejsieTak
Wywołanie metody interfejsuTak
Implementacja interfejsu i …
Implementacja metodyTak
Dodanie argumentu do implementowanej metodyTak
Dodanie domyślnej wartości do argumentuTak
Przypadek użyciaŁamie kompatybilność wsteczną?
Informacja o zwracanym typie w klasieTak
Tworzenie nowej instancjiTak
Rozszerzenie klasyTak
Odwołanie do publicznej właściwościTak
Wywołanie publicznej metodyTak
Rozszerzenie klasy i …
Odwołanie do chronionej właściwościTak
Wywołanie chronionej metodyTak
Przeciążenie publicznej właściwościTak
Przeciążenie chronionej właściwościTak
Przeciążenie publicznej metodyTak
Przeciążenie chronionej metodyTak
Dodanie nowej właściwościNie
Dodanie nowej metodyNie
Dodanie argumentu do przeciążonej metodyTak
Dodanie domyślnej wartości do argumentuTak
Wywołanie prywatnej metody (przez Refleksję)Nie
Odwołanie do prywatnej właściwości (przez Refleksję)Nie
Przypadek użyciaŁamie kompatybilność wsteczną?
UsunięcieNie
Zmiana nazwy lub przestrzeni nazwNie
Dodanie interfejsu - rodzicaTak, jeśli nie ma dodanych nowych metod
Usunięcie interfejsu - rodzicaNie
Metody interfejsu
Dodanie metodyNie
Usunięcie metodyNie
Zmiana nazwyNie
Przeniesienie do interfejsu - rodzicaTak
Dodanie argumentu bez domyślnej wartościNie
Dodanie argumentu z domyślną wartościąNie
Usunięcie argumentówTak (tylko ostatnich)
Dodanie domyślnej wartości do argumentuNie
Usunięcie domyślnej wartości z argumentuNie
Dodanie informacji o typie argumentuNie
Usunięcie informacji o typie argumentuNie
Zmiana typu argumentuNie
Zmiana typu zwracanej wartościNie
Stałe
Dodanie stałejTak
Usunięcie stałejNie
Zmiana wartości stałejTak, z wyjątkiem obiektów, które będą serializowane. Obowiązkowa dokumentacja w UPGRADE.md.
Przypadek użyciaŁamie kompatybilność wsteczną?
UsunięcieNie
Określenie jako finalNie
Określenie jako abstractNie
Zmiana nazwy lub przestrzeni nazwNie
Zmiana klasy - rodzicaTak, ale oryginalna klasa - rodzic musi pozostać przodkiem klasy.
Dodanie interfejsuTak
Usunięcie interfejsuNie
Publiczne właściwości
Dodanie publicznej właściwościTak
Usunięcie publicznej właściwościNie
Ograniczenie widocznościNie
Przeniesienie do klasy - rodzicaTak
Chronione właściwości
Dodanie chronionej właściwościTak
Usunięcie chronionej właściwościNie
Ograniczenie widocznościNie
Przeniesienie do klasy - rodzicaTak
Prywatne właściwości
Dodanie prywatnej właściwościTak
Usunięcie prywatnej właściwościTak
Konstruktory
Usunięcie konstruktoraNie
Ograniczenie widoczności publicznego konstruktoraNie
Ograniczenie widoczności chronionego konstruktoraNie
Przeniesienie do klasy - rodzicaTak
Publiczne metody
Dodanie publicznej metodyTak
Usunięcie publicznej metodyNie
Zmiana nazwyNie
Ograniczenie widocznościNie
Przeniesienie do klasy - rodzicaTak
Dodanie argumentu bez domyślnej wartościNie
Dodanie argumentu z domyślną wartościąNie
Usunięcie argumentówTak, tylko ostatnich
Dodanie domyślnej wartości do argumentuNie
Usunięcie domyślnej wartości z argumentuNie
Dodanie informacji o typie argumentuNie
Usunięcie informacji o typie argumentuNie
Zmiana typu argumentuNie
Zmiana typu zwracanej wartościNie
Chronione metody
Dodanie chronionej metodyTak
Usunięcie chronionej metodyNie
Zmiana nazwyNie
Ograniczenie widocznościNie
Przeniesienie do klasy - rodzicaTak
Dodanie argumentu bez domyślnej wartościNie
Dodanie argumentu z domyślną wartościąNie
Usunięcie argumentówTak, tylko ostatnich
Dodanie domyślnej wartości do argumentuNie
Usunięcie domyślnej wartości z argumentuNie
Dodanie informacji o typie argumentuNie
Usunięcie informacji o typie argumentuNie
Zmiana typu argumentuNie
Zmiana typu zwracanej wartościNie
Prywatne metody
Dodanie prywatnej metodyTak
Usunięcie prywatnej metodyTak
Zmiana nazwyTak
Dodanie argumentu bez domyślnej wartościTak
Dodanie argumentu z domyślną wartościąTak
Usunięcie argumentuTak
Dodanie domyślnej wartości do argumentuTak
Usunięcie domyślnej wartości z argumentuTak
Dodanie informacji o typie argumentuTak
Usunięcie informacji o typie argumentuTak
Zmiana typu argumentuTak
Zmiana typu zwracanej wartościTak
Statyczne metody
Zmiana niestatycznej metody w statycznąNie
Zmiana statycznej metody w niestatycznąNie
Stałe
Dodanie stałejTak
Usunięcie stałejNie
Zmiana wartości stałejz wyjątkiem obiektów, które będą serializowane. Obowiązkowa dokumentacja w UPGRADE.md.