Aggiornamento
Aggiornamento alla versione 3.1
- l'autowiring non passa più
nulla 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 contype: - la chiave
dynamicè stata rinominata inimportedeclassintype - il simbolo per un argomento omesso è cambiato da
...a_, per esempioMyService(_, 123) - nei file NEON il carattere
@all'inizio di una stringa non ha più bisogno di essere escapato - la chiave
parametersall'interno delle definizioni delle factory generate è deprecata - il metodo
Nette\DI\Config\Loader::save()è deprecato; esportate la configurazione conNette\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 diclass: PDO(...) - il tag
nette.presenternon 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.neoneconfig.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