Aktualizacja
Aktualizacja do wersji 3.0
Nette 3.0 dodaje deklaracje typów do parametrów metod i wartości zwracanych. Jeśli nadpisujesz taką metodę w klasie dziedziczącej po Nette (na przykład w presenterze albo komponencie), musisz dodać te same deklaracje typów, w przeciwnym razie PHP zgłosi błąd “Declaration must be compatible”.
Interfejs Nette\Application\IRouter uległ zmianie. Metoda match() zwraca teraz tablicę parametrów
zamiast obiektu Nette\Application\Request, a constructUrl() taką tablicę przyjmuje.
Nette sprawdza teraz, czy każdy sygnał wysyłany jest z tego samego pochodzenia (czyli z tej samej domeny i subdomeny). Ta
polityka same-origin to kluczowy mechanizm bezpieczeństwa, który pomaga ograniczyć możliwe wektory ataku. Jeśli chcesz
dopuścić inne pochodzenie, dodaj do metody obsługującej adnotację @crossOrigin:
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
Dotyczy to również wysyłania formularzy. Jeśli chcesz dopuścić wysyłanie z innego pochodzenia, zrób to tak:
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
Konstruktor Nette\ComponentModel\Component nie był używany od lat i w wersji 3.0 został usunięty. To
złamanie zgodności wstecznej: jeśli w komponencie albo presenterze dziedziczącym po
Nette\Application\UI\Presenter wywołujesz konstruktor rodzica, musisz to wywołanie usunąć.
Aktualizacja do wersji 2.4
RouteiSimpleRoutergenerują teraz ten sam schemat HTTP/HTTPS, którym otwarto stronę. Trasę wymagającą konkretnego protokołu można zdefiniować wraz ze schematem, np.Route('http://domain.cz/<presenter>').- Dla parametrów metod render/action typu bool (czyli z wartością domyślną true albo false) oraz dla parametrów trwałych
rozróżniane są teraz
falseinull. Jeśli parametru nie ma w URL, jego wartością jest teraznull(wcześniejfalse). - Klasa zwracana przez
Presenter::getReflection()nie jest już potomkiemNette\Reflection\ClassType, agetReflection()->getMethod()nie jest już potomkiemNette\Reflection\Method. - Flaga
SECUREDiRoute::$defaultFlagssą przestarzałe.
Aktualizacja do wersji 2.3
- trasy i nazwy presenterów rozróżniają wielkość liter. Nette ostrzega, gdy użyjesz błędnej wielkości liter w nazwie presentera; ze względów wydajnościowych maska Route nie jest sprawdzana, więc zweryfikuj ją ręcznie.
Route::addStyle()iRoute::setStyleProperty()są przestarzałe i wywołują terazE_USER_DEPRECATED.- rozszerzenie szablonów
.phtmli stara składnia odnośników nie są już obsługiwane.