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ü |https://blog.nette.org/en/nette-di-3-1-transition-release] 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
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