Upgrade

Upgrade na verzi 3.1

  • autowiring již nepředává null do nullable parametru bez výchozí hodnoty; argument uveďte explicitně, nebo parametru doplňte výchozí hodnotu
  • skončila podpora anotace @return; použijte návratový typ, nebo typ uveďte v definici služby pomocí type:
  • klíč dynamic byl přejmenován na imported a class na type
  • symbol pro vynechaný argument se změnil z ... na _, např. MyService(_, 123)
  • v souborech NEON už není potřeba na začátku řetězce escapovat znak @
  • klíč parameters uvnitř definic generovaných továren je zastaralý
  • metoda Nette\DI\Config\Loader::save() je zastaralá; konfiguraci exportujte pomocí Nette\DI\Config\Adapters\NeonAdapter::dump()

Verze 3.1 je přechodová: nepřináší novinky, ale pomocí notices upozorňuje na vše, co bude později fungovat jinak. Viz článek Nette DI 3.1: přechodová verze.

Upgrade na verzi 3.0

  • byla odstraněna podpora INI souborů
  • byl odstraněn přímý zápis PHP kódu do konfigurace pomocí otazníků (např. "$service->onError[] = ?"(...)); použijte místo něj syntaxi s polem '$onError[]' = [...]
  • v konfiguračních souborech místo class: PDO(...) použijte factory: PDO(...)
  • tag nette.presenter se pro presentery už nepoužívá

Pro tvůrce Compiler Extensions

Zatímco v Nette 2.4 interně popisoval každou službu objekt Nette\DI\ServiceDefinition, dnes existuje definic vícero: Nette\DI\Definitions\ImportedDefinition pro importované (dynamické) služby, Nette\DI\Definitions\FactoryDefinition pro generované továrničky na základě rozhraní, Nette\DI\Definitions\AccessorDefinition pro generované accessory a Nette\DI\Definitions\ServiceDefinition pro běžné služby.

Kromě ContainerBuilder::addDefinition() proto existuje pro vytvoření nové definice několik dalších metod: addFactoryDefinition(), addAccessorDefinition() a addImportedDefinition().

Upgrade na verzi 2.4

  • sekce (např. production, development) v jednom konfiguračním souboru jsou zastaralé; použijte dvojici souborů config.neonconfig.local.neon
  • dědičnost definic služeb je zastaralá
  • Statement::setEntity() je zastaralá

Upgrade na verzi 2.3

  • byla odstraněna podpora pro umisťování služeb do sekce extension v konfiguračním souboru
  • byla odstraněna podpora dynamicky přidávaných rozšíření
  • při dynamické výměně služby (přes removeService(), addService()) musí být nová služba instancí stejného rozhraní/třídy jako původní
verze: 3.x