Yükseltme

Sürüm 3.1'e Yükseltme

  • autowiring, varsayılan değeri olmayan nullable bir parametreye artık null aktarmıyor; argümanı açıkça verin ya da parametreye bir varsayılan değer tanımlayın
  • @return açıklaması desteği kaldırıldı; bir dönüş türü kullanın ya da türü servis tanımında type: ile belirtin
  • dynamic anahtarının adı imported, class anahtarının adı type olarak değişti
  • atlanan argümanın simgesi ... yerine _ oldu, örneğin MyService(_, 123)
  • NEON dosyalarında, dizenin başındaki @ karakterinin artık kaçışlanması gerekmiyor
  • üretilen factory tanımlarının içindeki parameters anahtarı 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(...) yerine factory: PDO(...) kullanın
  • presenter'lar için nette.presenter etiketi 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.neon ve config.local.neon dosya ç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
versiyon: 3.x