Upgrade
Upgrade na verzi 3.1
- autowiring již nepředává
nulldo 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íč
dynamicbyl přejmenován naimportedaclassnatype - 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íč
parametersuvnitř 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žijtefactory: PDO(...) - tag
nette.presenterse 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.neonaconfig.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í