Upgrade
Upgrade na verzi 3.0
Nette 3.0 doplňuje typehinty k parametrům a návratovým hodnotám metod. Pokud takovou metodu přepisujete ve třídě zděděné z Nette (například v presenteru nebo komponentě), musíte doplnit stejné typehinty, jinak PHP vyhodí chybu „Declaration must be compatible“.
Rozhraní Nette\Application\IRouter bylo změněno. Metoda match() nyní vrací a
constructUrl() přijímá pole parametrů namísto objektu Nette\Application\Request.
Nette nyní kontroluje, zda je každý signál odeslán ze stejného originu (tj. ze stejné domény a subdomény). Tato
same-origin policy je kritický bezpečnostní mechanismus, který pomáhá redukovat možné vektory útoku. Pokud chcete povolit
další původy, přidejte k metodě obsluhující signál anotaci @crossOrigin:
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
To platí také pro odesílání formulářů. Pokud chcete povolit odeslání z jiného původu, postupujte takto:
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
Konstruktor Nette\ComponentModel\Component nebyl roky používán a byl odstraněn ve verzi 3.0. Je to BC break:
pokud voláte rodičovský konstruktor v komponentě nebo presenteru zděděném od Nette\Application\UI\Presenter,
musíte volání odstranit.
Upgrade na verzi 2.4
RouteiSimpleRouternyní generují v URL stejné HTTP/HTTPS schéma, s jakým se přistupuje ke stránce. Routu, která vyžaduje určitý protokol, lze zapsat se schématem, např.Route('http://domain.cz/<presenter>').- U parametrů typu bool použitých v render/action metodách (tj. s výchozí hodnotou true nebo false) a
u persistentních parametrů se nyní rozlišuje mezi false a null. Pokud parametr v URL není uveden, jeho hodnota je nyní
null(dřívefalse). - Třída, kterou vrací
Presenter::getReflection(), již není potomkemNette\Reflection\ClassTypea rovněžgetReflection()->getMethod()není potomkemNette\Reflection\Method. - Flag
SECUREDaRoute::$defaultFlagsjsou zastaralé.
Upgrade na verzi 2.3
- routy a názvy presenterů jsou case-sensitive. Nette vás upozorní, pokud v názvu presenteru použijete špatnou velikost písmen; masku routy z výkonnostních důvodů nekontroluje, ověřte si ji tedy ručně.
Route::addStyle()aRoute::setStyleProperty()jsou zastaralé a nyní vyvolajíE_USER_DEPRECATED.- přípona šablony
.phtmla stará syntaxe odkazů se již nepodporují.