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.neonconfig.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
versione: 3.x