Aggiornamento
*************
Aggiornamento alla versione 3.1
===============================
- l'autowiring non passa più `null` a un parametro nullable privo di valore predefinito; passate l'argomento esplicitamente oppure date al parametro un valore predefinito
- il supporto dell'annotazione `@return` è stato eliminato; usate un tipo di ritorno oppure indicate il tipo nella definizione del servizio con `type:`
- la chiave `dynamic` è stata rinominata in `imported` e `class` in `type`
- il simbolo per un argomento omesso è cambiato da `...` a `_`, per esempio `MyService(_, 123)`
- nei file NEON il carattere `@` all'inizio di una stringa non ha più bisogno di essere escapato
- la chiave `parameters` all'interno delle definizioni delle factory generate è deprecata
- il metodo `Nette\DI\Config\Loader::save()` è deprecato; esportate la configurazione con `Nette\DI\Config\Adapters\NeonAdapter::dump()`
La versione 3.1 è una versione di transizione: non porta nuove funzionalità, ma avvisa con dei notice di tutto ciò che in seguito funzionerà diversamente. Vedi l'articolo [Nette DI 3.1: transition release |https://blog.nette.org/en/nette-di-3-1-transition-release].
Aggiornamento alla versione 3.0
===============================
- il supporto dei file INI è stato rimosso
- la scrittura diretta di codice PHP nella configurazione tramite i punti interrogativi (per esempio `"$service->onError[] = ?"(...)`) è stata rimossa; usate invece la sintassi ad array `'$onError[]' = [...]`
- nei file di configurazione usate `factory: PDO(...)` invece di `class: PDO(...)`
- il tag `nette.presenter` non viene più usato per i presenter
Per gli autori di estensioni del compilatore
--------------------------------------------
Mentre Nette 2.4 descriveva internamente ogni servizio come `Nette\DI\ServiceDefinition`, ora esistono diversi tipi di definizione: `Nette\DI\Definitions\ImportedDefinition` per i servizi importati (dinamici), `Nette\DI\Definitions\FactoryDefinition` per le factory generate a partire da un'interfaccia, `Nette\DI\Definitions\AccessorDefinition` per gli accessor generati e `Nette\DI\Definitions\ServiceDefinition` per i servizi comuni.
Perciò, oltre a `ContainerBuilder::addDefinition()`, esistono altri metodi per creare una nuova definizione: `addFactoryDefinition()`, `addAccessorDefinition()` e `addImportedDefinition()`.
Aggiornamento alla versione 2.4
===============================
- le sezioni di configurazione (per esempio production, development) in un unico file di config sono deprecate; usate una coppia di file `config.neon` e `config.local.neon`
- l'ereditarietà delle definizioni dei servizi è deprecata
- `Statement::setEntity()` è deprecato
Aggiornamento alla versione 2.3
===============================
- il supporto per collocare i servizi dentro la sezione delle estensioni del file di configurazione è stato rimosso
- il supporto per le estensioni aggiunte dinamicamente è stato rimosso
- sostituendo dinamicamente un servizio (con `removeService()`, `addService()`), il nuovo servizio deve essere un'istanza della stessa interfaccia o classe dell'originale
Aggiornamento
Aggiornamento alla versione 3.1
- l'autowiring non passa più
null a un parametro nullable privo di valore predefinito; passate l'argomento
esplicitamente oppure date al parametro un valore predefinito
- il supporto dell'annotazione
@return è stato eliminato; usate un tipo di ritorno oppure indicate il tipo nella
definizione del servizio con type:
- la chiave
dynamic è stata rinominata in imported e class in type
- il simbolo per un argomento omesso è cambiato da
... a _, per
esempio MyService(_, 123)
- nei file NEON il carattere
@ all'inizio di una stringa non ha più bisogno di essere escapato
- la chiave
parameters all'interno delle definizioni delle factory generate è deprecata
- il metodo
Nette\DI\Config\Loader::save() è deprecato; esportate la configurazione
con Nette\DI\Config\Adapters\NeonAdapter::dump()
La versione 3.1 è una versione di transizione: non porta nuove funzionalità, ma avvisa con dei notice di tutto ciò che in
seguito funzionerà diversamente. Vedi l'articolo Nette DI
3.1: transition release.
Aggiornamento alla versione 3.0
- il supporto dei file INI è stato rimosso
- la scrittura diretta di codice PHP nella configurazione tramite i punti interrogativi (per esempio
"$service->onError[] = ?"(...)) è stata rimossa; usate invece la sintassi ad
array '$onError[]' = [...]
- nei file di configurazione usate
factory: PDO(...) invece di class: PDO(...)
- il tag
nette.presenter non viene più usato per i presenter
Per gli autori di estensioni del compilatore
Mentre Nette 2.4 descriveva internamente ogni servizio come Nette\DI\ServiceDefinition, ora esistono diversi tipi
di definizione: Nette\DI\Definitions\ImportedDefinition per i servizi importati (dinamici),
Nette\DI\Definitions\FactoryDefinition per le factory generate a partire da un'interfaccia,
Nette\DI\Definitions\AccessorDefinition per gli accessor generati e
Nette\DI\Definitions\ServiceDefinition per i servizi comuni.
Perciò, oltre a ContainerBuilder::addDefinition(), esistono altri metodi per creare una nuova definizione:
addFactoryDefinition(), addAccessorDefinition() e addImportedDefinition().
Aggiornamento alla versione 2.4
- le sezioni di configurazione (per esempio production, development) in un unico file di config sono deprecate; usate una coppia
di file
config.neon e config.local.neon
- l'ereditarietà delle definizioni dei servizi è deprecata
Statement::setEntity() è deprecato
Aggiornamento alla versione 2.3
- il supporto per collocare i servizi dentro la sezione delle estensioni del file di configurazione è stato rimosso
- il supporto per le estensioni aggiunte dinamicamente è stato rimosso
- sostituendo dinamicamente un servizio (con
removeService(), addService()), il nuovo servizio deve
essere un'istanza della stessa interfaccia o classe dell'originale