Yükseltme
Sürüm 3.1'e Yükseltme
- autowiring, varsayılan değeri olmayan nullable bir parametreye artık
nullaktarmıyor; argümanı açıkça verin ya da parametreye bir varsayılan değer tanımlayın @returnaçıklaması desteği kaldırıldı; bir dönüş türü kullanın ya da türü servis tanımındatype:ile belirtindynamicanahtarının adıimported,classanahtarının adıtypeolarak değişti- atlanan argümanın simgesi
...yerine_oldu, örneğinMyService(_, 123) - NEON dosyalarında, dizenin başındaki
@karakterinin artık kaçışlanması gerekmiyor - üretilen factory tanımlarının içindeki
parametersanahtarı kullanımdan kaldırıldı Nette\DI\Config\Loader::save()metodu kullanımdan kaldırıldı; yapılandırmayıNette\DI\Config\Adapters\NeonAdapter::dump()ile dışa aktarın
3.1 sürümü bir geçiş sürümüdür: yeni özellik getirmez, ama sonradan farklı çalışacak her şey için notice'larla uyarır. Nette DI 3.1: geçiş sürümü yazısına bakın.
Sürüm 3.0'a Yükseltme
- INI dosyaları desteği kaldırıldı
- yapılandırmaya soru işaretleriyle doğrudan PHP kodu yazma (örneğin
"$service->onError[] = ?"(...)) kaldırıldı; bunun yerine'$onError[]' = [...]dizi söz dizimini kullanın - yapılandırma dosyalarında
class: PDO(...)yerinefactory: PDO(...)kullanın - presenter'lar için
nette.presenteretiketi artık kullanılmıyor
Compiler Extension Yazarları İçin
Nette 2.4 içeride her servisi Nette\DI\ServiceDefinition olarak tanımlarken, artık birkaç tanım türü var:
içe aktarılan (dinamik) servisler için Nette\DI\Definitions\ImportedDefinition, arayüz tabanlı üretilen
factory'ler için Nette\DI\Definitions\FactoryDefinition, üretilen accessor'lar için
Nette\DI\Definitions\AccessorDefinition ve sıradan servisler için
Nette\DI\Definitions\ServiceDefinition.
Bu yüzden ContainerBuilder::addDefinition() metodunun yanında yeni tanım oluşturmaya yarayan birkaç metot
daha var: addFactoryDefinition(), addAccessorDefinition() ve addImportedDefinition().
Sürüm 2.4'e Yükseltme
- tek bir yapılandırma dosyasındaki yapılandırma bölümleri (örneğin production, development) kullanımdan
kaldırıldı;
config.neonveconfig.local.neondosya çiftini kullanın - servis tanımlarının kalıtımı kullanımdan kaldırıldı
Statement::setEntity()kullanımdan kaldırıldı
Sürüm 2.3'e Yükseltme
- servisleri yapılandırma dosyasının extension bölümüne koyma desteği kaldırıldı
- dinamik olarak eklenen extension'ların desteği kaldırıldı
- bir servisi dinamik olarak değiştirirken (
removeService(),addService()ile), yeni servis özgün servisle aynı arayüzün/sınıfın bir örneği olmalıdır