You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.5 KiB
5.5 KiB
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.
Metodyka użytkowania
Interfejsy
Przypadek użycia | Łamie kompatybilność wsteczną? |
---|---|
Informacja o zwracanym typie w intefejsie | Tak |
Wywołanie metody interfejsu | Tak |
Implementacja interfejsu i ... | |
Implementacja metody | Tak |
Dodanie argumentu do implementowanej metody | Tak |
Dodanie domyślnej wartości do argumentu | Tak |
Klasy
Przypadek użycia | Łamie kompatybilność wsteczną? |
---|---|
Informacja o zwracanym typie w klasie | Tak |
Tworzenie nowej instancji | Tak |
Rozszerzenie klasy | Tak |
Odwołanie do publicznej właściwości | Tak |
Wywołanie publicznej metody | Tak |
Rozszerzenie klasy i ... | |
Odwołanie do chronionej właściwości | Tak |
Wywołanie chronionej metody | Tak |
Przeciążenie publicznej właściwości | Tak |
Przeciążenie chronionej właściwości | Tak |
Przeciążenie publicznej metody | Tak |
Przeciążenie chronionej metody | Tak |
Dodanie nowej właściwości | Nie |
Dodanie nowej metody | Nie |
Dodanie argumentu do przeciążonej metody | Tak |
Dodanie domyślnej wartości do argumentu | Tak |
Wywołanie prywatnej metody (przez Refleksję) | Nie |
Odwołanie do prywatnej właściwości (przez Refleksję) | Nie |
Metodyka rozwoju
Zmiana interfejsów
Przypadek użycia | Łamie kompatybilność wsteczną? |
---|---|
Usunięcie | Nie |
Zmiana nazwy lub przestrzeni nazw | Nie |
Dodanie interfejsu - rodzica | Tak, jeśli nie ma dodanych nowych metod |
Usunięcie interfejsu - rodzica | Nie |
Metody interfejsu | |
Dodanie metody | Nie |
Usunięcie metody | Nie |
Zmiana nazwy | Nie |
Przeniesienie do interfejsu - rodzica | Tak |
Dodanie argumentu bez domyślnej wartości | Nie |
Dodanie argumentu z domyślną wartością | Nie |
Usunięcie argumentów | Tak (tylko ostatnich) |
Dodanie domyślnej wartości do argumentu | Nie |
Usunięcie domyślnej wartości z argumentu | Nie |
Dodanie informacji o typie argumentu | Nie |
Usunięcie informacji o typie argumentu | Nie |
Zmiana typu argumentu | Nie |
Zmiana typu zwracanej wartości | Nie |
Stałe | |
Dodanie stałej | Tak |
Usunięcie stałej | Nie |
Zmiana wartości stałej | Tak, z wyjątkiem obiektów, które będą serializowane. Obowiązkowa dokumentacja w UPGRADE.md. |
Klasy
Przypadek użycia | Łamie kompatybilność wsteczną? |
---|---|
Usunięcie | Nie |
Określenie jako final | Nie |
Określenie jako abstract | Nie |
Zmiana nazwy lub przestrzeni nazw | Nie |
Zmiana klasy - rodzica | Tak, ale oryginalna klasa - rodzic musi pozostać przodkiem klasy. |
Dodanie interfejsu | Tak |
Usunięcie interfejsu | Nie |
Publiczne właściwości | |
Dodanie publicznej właściwości | Tak |
Usunięcie publicznej właściwości | Nie |
Ograniczenie widoczności | Nie |
Przeniesienie do klasy - rodzica | Tak |
Chronione właściwości | |
Dodanie chronionej właściwości | Tak |
Usunięcie chronionej właściwości | Nie |
Ograniczenie widoczności | Nie |
Przeniesienie do klasy - rodzica | Tak |
Prywatne właściwości | |
Dodanie prywatnej właściwości | Tak |
Usunięcie prywatnej właściwości | Tak |
Konstruktory | |
Usunięcie konstruktora | Nie |
Ograniczenie widoczności publicznego konstruktora | Nie |
Ograniczenie widoczności chronionego konstruktora | Nie |
Przeniesienie do klasy - rodzica | Tak |
Publiczne metody | |
Dodanie publicznej metody | Tak |
Usunięcie publicznej metody | Nie |
Zmiana nazwy | Nie |
Ograniczenie widoczności | Nie |
Przeniesienie do klasy - rodzica | Tak |
Dodanie argumentu bez domyślnej wartości | Nie |
Dodanie argumentu z domyślną wartością | Nie |
Usunięcie argumentów | Tak, tylko ostatnich |
Dodanie domyślnej wartości do argumentu | Nie |
Usunięcie domyślnej wartości z argumentu | Nie |
Dodanie informacji o typie argumentu | Nie |
Usunięcie informacji o typie argumentu | Nie |
Zmiana typu argumentu | Nie |
Zmiana typu zwracanej wartości | Nie |
Chronione metody | |
Dodanie chronionej metody | Tak |
Usunięcie chronionej metody | Nie |
Zmiana nazwy | Nie |
Ograniczenie widoczności | Nie |
Przeniesienie do klasy - rodzica | Tak |
Dodanie argumentu bez domyślnej wartości | Nie |
Dodanie argumentu z domyślną wartością | Nie |
Usunięcie argumentów | Tak, tylko ostatnich |
Dodanie domyślnej wartości do argumentu | Nie |
Usunięcie domyślnej wartości z argumentu | Nie |
Dodanie informacji o typie argumentu | Nie |
Usunięcie informacji o typie argumentu | Nie |
Zmiana typu argumentu | Nie |
Zmiana typu zwracanej wartości | Nie |
Prywatne metody | |
Dodanie prywatnej metody | Tak |
Usunięcie prywatnej metody | Tak |
Zmiana nazwy | Tak |
Dodanie argumentu bez domyślnej wartości | Tak |
Dodanie argumentu z domyślną wartością | Tak |
Usunięcie argumentu | Tak |
Dodanie domyślnej wartości do argumentu | Tak |
Usunięcie domyślnej wartości z argumentu | Tak |
Dodanie informacji o typie argumentu | Tak |
Usunięcie informacji o typie argumentu | Tak |
Zmiana typu argumentu | Tak |
Zmiana typu zwracanej wartości | Tak |
Statyczne metody | |
Zmiana niestatycznej metody w statyczną | Nie |
Zmiana statycznej metody w niestatyczną | Nie |
Stałe | |
Dodanie stałej | Tak |
Usunięcie stałej | Nie |
Zmiana wartości stałej | z wyjątkiem obiektów, które będą serializowane. Obowiązkowa dokumentacja w UPGRADE.md. |