Actualización

Actualización a la versión 3.1

  • el autowiring ya no pasa null a un parámetro que admite null y no tiene valor por defecto; pase el argumento explícitamente o dele al parámetro un valor por defecto
  • se ha eliminado el soporte de la anotación @return; use un tipo de retorno o indique el tipo en la definición del servicio con type:
  • la clave dynamic se ha renombrado a imported y classtype
  • el símbolo para un argumento omitido ha cambiado de ... a _, p. ej. MyService(_, 123)
  • en los archivos NEON ya no hace falta escapar el carácter @ al principio de una cadena
  • la clave parameters dentro de las definiciones de factories generadas está obsoleta
  • el método Nette\DI\Config\Loader::save() está obsoleto; exporte la configuración con Nette\DI\Config\Adapters\NeonAdapter::dump()

La versión 3.1 es una versión de transición: no trae funcionalidades nuevas, pero avisa con notices de todo lo que funcionará de otra manera más adelante. Véase el artículo Nette DI 3.1: transition release.

Actualización a la versión 3.0

  • se ha eliminado el soporte de los archivos INI
  • se ha eliminado la escritura directa de código PHP en la configuración con signos de interrogación (p. ej. "$service->onError[] = ?"(...)); use en su lugar la sintaxis de array '$onError[]' = [...]
  • en los archivos de configuración, use factory: PDO(...) en lugar de class: PDO(...)
  • la etiqueta nette.presenter ya no se usa para los presenters

Para los autores de extensiones del compilador

Mientras que Nette 2.4 describía internamente cada servicio como Nette\DI\ServiceDefinition, ahora hay varios tipos de definición: Nette\DI\Definitions\ImportedDefinition para los servicios importados (dinámicos), Nette\DI\Definitions\FactoryDefinition para las factories generadas a partir de interfaces, Nette\DI\Definitions\AccessorDefinition para los accessors generados y Nette\DI\Definitions\ServiceDefinition para los servicios corrientes.

Por eso, además de ContainerBuilder::addDefinition() hay otros métodos para crear una nueva definición: addFactoryDefinition(), addAccessorDefinition() y addImportedDefinition().

Actualización a la versión 2.4

  • las secciones de configuración (p. ej. production, development) en un único archivo de configuración están obsoletas; use un par de archivos config.neonconfig.local.neon
  • la herencia de definiciones de servicios está obsoleta
  • Statement::setEntity() está obsoleto

Actualización a la versión 2.3

  • se ha eliminado el soporte para colocar servicios dentro de la sección de la extensión en el archivo de configuración
  • se ha eliminado el soporte de las extensiones añadidas dinámicamente
  • al sustituir un servicio dinámicamente (con removeService(), addService()), el nuevo servicio debe ser una instancia de la misma interfaz o clase que el original
versión: 3.x