Aggiornamento
Aggiornamento alla versione 3.0
Nette 3.0 aggiunge le dichiarazioni di tipo ai parametri e ai valori di ritorno dei metodi. Se sovrascrivete un metodo del genere in una classe che eredita da Nette (per esempio in un presenter o in un componente), dovete aggiungere le stesse dichiarazioni di tipo, altrimenti PHP emette l'errore “Declaration must be compatible”.
L'interfaccia Nette\Application\IRouter è cambiata. Il metodo match() ora restituisce, e
constructUrl() accetta, un array di parametri invece di un oggetto Nette\Application\Request.
Nette controlla ora che ogni segnale venga inviato dalla stessa origine (cioè dallo stesso dominio e sottodominio). Questa
same-origin policy è un meccanismo di sicurezza essenziale, che aiuta a ridurre i possibili vettori di attacco. Se volete
permettere altre origini, aggiungete al metodo handler l'annotazione @crossOrigin:
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
Lo stesso vale per l'invio dei form. Se volete permetterne l'invio da altre origini, procedete così:
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
Il costruttore di Nette\ComponentModel\Component non veniva usato da anni ed è stato rimosso nella versione
3.0. È una rottura di compatibilità: se in un componente o in un presenter che eredita da
Nette\Application\UI\Presenter chiamate il costruttore genitore, dovete rimuovere la chiamata.
Aggiornamento alla versione 2.4
RouteeSimpleRoutergenerano ora lo stesso schema HTTP/HTTPS con cui si è acceduto al sito. Una route che richiede un protocollo specifico si può definire con lo schema, per esempioRoute('http://domain.cz/<presenter>').- Per i parametri di tipo bool dei metodi render/action (cioè con valore predefinito true o false) e per i parametri
persistenti si distinguono ora
falseenull. Se il parametro non è presente nell'URL, il suo valore è oranull(prima erafalse). - La classe restituita da
Presenter::getReflection()non è più discendente diNette\Reflection\ClassTypeegetReflection()->getMethod()non è più discendente diNette\Reflection\Method. - Il flag
SECUREDeRoute::$defaultFlagssono deprecati.
Aggiornamento alla versione 2.3
- le route e i nomi dei presenter fanno distinzione tra maiuscole e minuscole. Nette vi avvisa se usate le maiuscole sbagliate nel nome di un presenter; per motivi di prestazioni la maschera della Route non viene controllata, quindi verificatela manualmente.
Route::addStyle()eRoute::setStyleProperty()sono deprecati ed emettono oraE_USER_DEPRECATED.- l'estensione dei template
.phtmle la vecchia sintassi dei link non sono più supportate.