Nette Documentation Preview

syntax
Yükseltme
*********


Sürüm 3.4'e Yükseltme
=====================

Gereken en düşük PHP sürümü 8.3'tür.

- `Request::isSameSite()` metodu kullanımdan kaldırıldı; yerine, isteğin kaynağını `Sec-Fetch-*` header'larından belirleyen `isFrom()` geldi. Formların ve sinyallerin otomatik koruması daha isabetli oluyor ve bir davranış değişiyor: doğrudan gezinme (bir yer imi, elle yazılan bir adres, e-postadaki bir bağlantı) artık aynı site sayılmıyor. Bir sinyal e-postadaki eylem bağlantılarına dayanıyorsa, onu `#[Requires(sameOrigin: false)]` ile işaretleyin.
- `_nss` çerezi artık yalnızca `Sec-Fetch-Site` header'ını göndermeyen tarayıcılara gönderiliyor
- `setCookie()`, `Max-Age` niteliğini gönderiyor ve `SameSite=None` ile bölümlenmiş çerezlerde `Secure` bayrağını zorluyor
- `SameSite` enum'u, kullanımdan kaldırılan `IResponse::SameSiteLax` gibi sabitlerin yerini alıyor
- son kullanma her yerde aynı şekilde yorumlanıyor: sayı göreli saniye sayısı, dize ise bir aralık ya da tarihtir. Mutlak bir UNIX zaman damgası vermek kullanımdan kaldırıldı ve oturum çerezi `0` yerine `null` ile temsil ediliyor.
- kullanımdan kaldırılmış `Request::getRemoteHost()` metodu `null` döndürüyor
- uzun süredir kullanımdan kaldırılmış `Nette\Http\UserStorage` sınıfı kaldırıldı

`Sec-Fetch-*` header'larına geçişin tüm hikâyesi [Çeyrek yüzyıllık CSRF |https://blog.nette.org/en/quarter-century-of-csrf] yazısında anlatılıyor.


Sürüm 3.2'ye Yükseltme
======================

- HTTP Basic Authentication kimlik bilgileri artık `Url` nesnesinin parçası değil, dolayısıyla `$url->getUser()` ve `$url->getPassword()` boş dize döndürüyor. Onları yeni `$request->getBasicCredentials()` metoduyla okuyun.

Bu değişikliğin nedenleri [Nette Http 3.2: kimlik bilgilerine erişim değişiyor |https://blog.nette.org/en/nette-http-3-2-change-access-to-credentials] yazısında açıklanıyor.


Sürüm 3.1'e Yükseltme
=====================

- çerezler `sameSite: Lax` bayrağıyla gönderiliyor
- `cookieSecure` artık varsayılan olarak 'auto'
- `session.cookieSecure` seçeneği kullanımdan kaldırıldı; yerine `http.cookieSecure` kullanılıyor
- `nette-samesite` çerezinin adı `_nss` oldu
- `Nette\Http\Request::getFile()` bir anahtar dizisi kabul ediyor ve `FileUpload|null` döndürüyor
- `Nette\Http\Session::getCookieParameters()` kullanımdan kaldırıldı
- `Nette\Http\FileUpload::getName()` metodunun adı `getUntrustedName()` oldu
- `Nette\Http\Url`: `getBasePath()`, `getBaseUrl()` ve `getRelativeUrl()` kullanımdan kaldırıldı (bu metotlar `UrlScript` sınıfının parçası)
- `Nette\Http\Response::$cookieHttpOnly` kullanımdan kaldırıldı
- `Nette\Http\FileUpload::getImageSize()` `[genişlik, yükseklik]` çiftini döndürüyor
- `autoStart: smart` (varsayılan) ile oturum, yalnızca tarayıcı bir oturum çerezi gönderdi diye uygulama başlar başlamaz artık başlatılmıyor; ilk okuma ya da yazmada başlıyor. `always` ve `never` değerleri eklendi.
- tarayıcı, karşılığında oturum bulunmayan bir oturum ID'si gönderdiğinde Nette yeni bir oturum oluşturmak yerine çerezi siliyor
- oturum bölümlerine erişmek için `set()`, `get()` ve `remove()` metotlarını yeğleyin; özellik erişiminin aksine okumayı yazmadan doğru ayırt eder ve oturumu gereksiz yere başlatmazlar
- `cookiePath` ve `cookieDomain` varsayılan değerleri yapılandırmada ayarlanabilir

Oturumların davranışı [Nette Http 3.1: çok daha akıllı oturumlar |https://blog.nette.org/en/nette-http-3-1-much-smarter-sessions] yazısında ayrıntılı anlatılıyor.


Sürüm 3.0'a Yükseltme
=====================

- `Nette\Http\UrlScript` nesnesi (örneğin `Nette\Http\Request::getUrl()` metodunun döndürdüğü) artık değişmez
- `new Nette\Http\Url('abcd')` içinde `abcd` alan adını değil yolu temsil ediyor; 3.0'dan beri `(new Nette\Http\Url('abcd'))->setScheme('http')` önceki `http://abcd` yerine doğru biçimde `http:abcd` üretiyor

Yükseltme

Sürüm 3.4'e Yükseltme

Gereken en düşük PHP sürümü 8.3'tür.

Sec-Fetch-* header'larına geçişin tüm hikâyesi Çeyrek yüzyıllık CSRF yazısında anlatılıyor.

Sürüm 3.2'ye Yükseltme

Bu değişikliğin nedenleri Nette Http 3.2: kimlik bilgilerine erişim değişiyor yazısında açıklanıyor.

Sürüm 3.1'e Yükseltme

Oturumların davranışı Nette Http 3.1: çok daha akıllı oturumlar yazısında ayrıntılı anlatılıyor.

Sürüm 3.0'a Yükseltme