Yükseltme
*********
Sürüm 3.0'a yükseltme
=====================
Nette 3.0, metot parametrelerine ve dönüş değerlerine tür bildirimleri ekler. Nette'ten kalıtım alan bir sınıfta (örneğin bir presenter'da veya bileşende) böyle bir metodu ezerseniz, aynı tür bildirimlerini eklemeniz gerekir; aksi halde PHP "Declaration must be compatible" hatası verir.
`Nette\Application\IRouter` arayüzü değişti. `match()` metodu artık bir `Nette\Application\Request` nesnesi yerine bir parametre dizisi döndürür, `constructUrl()` de böyle bir dizi kabul eder.
Nette artık her sinyalin aynı origin'den (yani aynı alan adı ve alt alan adından) gönderildiğini denetler. Bu same-origin politikası, olası saldırı vektörlerini azaltmaya yardımcı olan kritik bir güvenlik mekanizmasıdır. Başka origin'lere izin vermek isterseniz, işleyici metoduna `@crossOrigin` anotasyonunu ekleyin:
```php
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
```
Aynısı form gönderimleri için de geçerlidir. Başka origin'lerden gönderime izin vermek isterseniz şöyle yapın:
```php
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
```
`Nette\ComponentModel\Component` sınıfının constructor'ı yıllardır kullanılmıyordu ve 3.0 sürümünde kaldırıldı. Bu bir BC break'tir: `Nette\Application\UI\Presenter`'dan kalıtım alan bir bileşende veya presenter'da üst sınıfın constructor'ını çağırıyorsanız, çağrıyı kaldırmanız gerekir.
Sürüm 2.4'e yükseltme
=====================
- `Route` ve `SimpleRouter` artık siteye erişilirken kullanılan HTTP/HTTPS şemasının aynısını üretir. Belirli bir protokol gerektiren bir rota, şemayla birlikte tanımlanabilir, örneğin `Route('http://domain.cz/<presenter>')`.
- render/action metotlarının bool tipindeki parametrelerinde (yani varsayılan değeri true veya false olanlarda) ve kalıcı parametrelerde artık `false` ile `null` birbirinden ayrılıyor. Parametre URL'de yoksa değeri artık `null` (önceden `false`).
- `Presenter::getReflection()` tarafından döndürülen sınıf artık `Nette\Reflection\ClassType`'ın torunu değil, `getReflection()->getMethod()` da artık `Nette\Reflection\Method`'un torunu değil.
- `SECURED` bayrağı ve `Route::$defaultFlags` kullanımdan kaldırıldı.
Sürüm 2.3'e yükseltme
=====================
- rotalar ve presenter adları **büyük-küçük harfe duyarlıdır**. Presenter adında yanlış harf kullanırsanız Nette sizi uyarır; performans nedeniyle Route maskesi denetlenmez, bu yüzden onu elle doğrulayın.
- `Route::addStyle()` ve `Route::setStyleProperty()` kullanımdan kaldırıldı ve artık `E_USER_DEPRECATED` tetikliyor.
- `.phtml` şablon uzantısı ve eski bağlantı sözdizimi artık desteklenmiyor.
Yükseltme
Sürüm 3.0'a yükseltme
Nette 3.0, metot parametrelerine ve dönüş değerlerine tür bildirimleri ekler. Nette'ten kalıtım alan bir sınıfta
(örneğin bir presenter'da veya bileşende) böyle bir metodu ezerseniz, aynı tür bildirimlerini eklemeniz gerekir; aksi halde
PHP “Declaration must be compatible” hatası verir.
Nette\Application\IRouter arayüzü değişti. match() metodu artık bir
Nette\Application\Request nesnesi yerine bir parametre dizisi döndürür, constructUrl() de böyle bir
dizi kabul eder.
Nette artık her sinyalin aynı origin'den (yani aynı alan adı ve alt alan adından) gönderildiğini denetler. Bu
same-origin politikası, olası saldırı vektörlerini azaltmaya yardımcı olan kritik bir güvenlik mekanizmasıdır. Başka
origin'lere izin vermek isterseniz, işleyici metoduna @crossOrigin anotasyonunu ekleyin:
/**
* @crossOrigin
*/
public function handleXy(): void
{
}
Aynısı form gönderimleri için de geçerlidir. Başka origin'lerden gönderime izin vermek isterseniz şöyle yapın:
$form = new Nette\Application\UI\Form;
$form->allowCrossOrigin();
Nette\ComponentModel\Component sınıfının constructor'ı yıllardır kullanılmıyordu ve 3.0 sürümünde
kaldırıldı. Bu bir BC break'tir: Nette\Application\UI\Presenter'dan kalıtım alan bir bileşende veya
presenter'da üst sınıfın constructor'ını çağırıyorsanız, çağrıyı kaldırmanız gerekir.
Sürüm 2.4'e yükseltme
Route ve SimpleRouter artık siteye erişilirken kullanılan HTTP/HTTPS şemasının aynısını
üretir. Belirli bir protokol gerektiren bir rota, şemayla birlikte tanımlanabilir, örneğin
Route('http://domain.cz/<presenter>').
- render/action metotlarının bool tipindeki parametrelerinde (yani varsayılan değeri true veya false olanlarda) ve kalıcı
parametrelerde artık
false ile null birbirinden ayrılıyor. Parametre URL'de yoksa değeri artık
null (önceden false).
Presenter::getReflection() tarafından döndürülen sınıf artık Nette\Reflection\ClassType'ın
torunu değil, getReflection()->getMethod() da artık Nette\Reflection\Method'un torunu değil.
SECURED bayrağı ve Route::$defaultFlags kullanımdan kaldırıldı.
Sürüm 2.3'e yükseltme
- rotalar ve presenter adları büyük-küçük harfe duyarlıdır. Presenter adında yanlış harf kullanırsanız Nette
sizi uyarır; performans nedeniyle Route maskesi denetlenmez, bu yüzden onu elle doğrulayın.
Route::addStyle() ve Route::setStyleProperty() kullanımdan kaldırıldı ve artık
E_USER_DEPRECATED tetikliyor.
.phtml şablon uzantısı ve eski bağlantı sözdizimi artık desteklenmiyor.