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`:
```php
/**
* @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:
```php
$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
==========================
- `Route` i `SimpleRouter` generują 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 `false` i `null`. Jeśli parametru nie ma w URL, jego wartością jest teraz `null` (wcześniej `false`).
- Klasa zwracana przez `Presenter::getReflection()` nie jest już potomkiem `Nette\Reflection\ClassType`, a `getReflection()->getMethod()` nie jest już potomkiem `Nette\Reflection\Method`.
- Flaga `SECURED` i `Route::$defaultFlags` są 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()` i `Route::setStyleProperty()` są przestarzałe i wywołują teraz `E_USER_DEPRECATED`.
- rozszerzenie szablonów `.phtml` i stara składnia odnośników nie są już obsługiwane.
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
Route i SimpleRouter generują 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
false i null. Jeśli parametru nie ma w URL, jego wartością jest teraz
null (wcześniej false).
- Klasa zwracana przez
Presenter::getReflection() nie jest już potomkiem Nette\Reflection\ClassType,
a getReflection()->getMethod() nie jest już potomkiem Nette\Reflection\Method.
- Flaga
SECURED i Route::$defaultFlags są 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() i Route::setStyleProperty() są przestarzałe i wywołują teraz
E_USER_DEPRECATED.
- rozszerzenie szablonów
.phtml i stara składnia odnośników nie są już obsługiwane.