Yükseltme
Sürüm 4.0'a Yükseltme
Gereken en düşük PHP sürümü 8.0'dır.
Nette\Utils\Reflection sınıfı, türlerle çalışmak için getParameterType(),
getPropertyType() ve getReturnType() metotlarını sunuyordu. Bu metotlar, PHP'de henüz birleşim
(union), kesişim (intersection) ve en yeni ayrık normal biçim türleri yokken oluşturulmuştu ve bunlarla artık doğru
çalışmıyorlar. Yerlerini Type sınıfı aldı. 4.0 sürümünden itibaren
bu metotlar kaldırıldı.
Nette\Utils\Html::$xhtml değişkeni kaldırıldı.
Bazı metotlardaki bayrakların yerini adlandırılmış argümanlar aldı. Özgün yazım hâlâ çalışıyor ama artık
tercih edilmiyor: Json::PRETTY → pretty:, Json::ESCAPE_UNICODE →
asciiSafe:, Json::FORCE_ARRAY → forceArrays:, Arrays::grep() içindeki
PREG_GREP_INVERT → invert:, Image::resize() içindeki Image::SHRINK_ONLY →
shrinkOnly: ve Strings::split(), match() ile matchAll() içindeki
PREG_* bayrakları.
Nette\Utils\Reflection::getParameterDefaultValue() metodu kullanımdan kaldırıldı, çünkü PHP'nin kendi
ReflectionParameter::getDefaultValue() metodu artık doğru çalışıyor.
RobotLoader kullanıyorsanız onu da 4. sürüme güncelleyin.
Finder
Finder, nette/utils paketine taşındı. Özgün nette/finder paketini kaldırın:
composer remove nette/finder
Linux'ta Finder artık varsayılan olarak büyük/küçük harfe duyarlı çalışıyor.
Önceki sürümde exclude() ve filter() metotları, from() ya da in()
çağrısından önce mi sonra mı çağrıldıklarına göre farklı davranıyordu. Artık böyle değil;
exclude() ve filter() her zaman aynı şekilde çalışıyor. from()/in()
çağrısından sonra çağrılan filter() davranışını artık yeni descentFilter() metodu
üstleniyor.
Finder artık Countable arayüzünü uygulamıyor.
Finder::findFiles('/f*') içinde eğik çizgiyle başlayan bir dize artık mutlak yol sayılıyor. Geçerli dizine
göre göreli bir yol kastettiyseniz, bunu örneğin Finder::findFiles('./f*') ile değiştirin.
İçinde arama yaptığınız dizin yoksa, Nette\InvalidStateException fırlatılır (önceki
UnexpectedValueException yerine).
Baştan yazılan Finder'ın başka neler yapabildiği Finder 4.0: kaputun altında 10 yıllık deneyim yazısında anlatılıyor.
Sürüm 3.1'e Yükseltme
Nette\Utils\Arrays::searchKey()metodunun adıgetKeyOffset()olarak değiştiNette\Utils\Callback::closure()kullanımdan kaldırıldı, yerineClosure::fromCallable()kullanınNette\Utils\Reflection::toString()fonksiyon/metot adının ardına()ekliyor- ext-intl yoksa
Nette\Utils\Strings::toAscii()bir notice tetikliyor
Sürüm 3.0'a Yükseltme
Nette\Localization\ITranslator arayüzü değişti.
Nette\Object Nette 2.4'ten beri kullanımdan kaldırılmıştı ve Nette 3.0'da tamamen çıkarıldı, ancak nette/deprecated paketinde Nette\LegacyObject adıyla varlığını
sürdürüyor (PHP 7.1'den beri object adı kullanılamıyor).
Sürüm 2.4'e Yükseltme
Framework sınıfları artık Nette\Object'ten türemek yerine Nette\SmartObject trait'ini
kullanıyor; bu birkaç noktada farklılık gösterir:
- “taklit özellikleri” yalnızca
@property tür $adaçıklaması varsa destekler - “genişletme metotlarını” desteklemez
- “getReflection” desteklemez
$this->formSubmittedgibi metotları almayı desteklemez; bunun yerine klasik PHP callback'i[$this, 'formSubmitted']kullanın
Nette\Utils\Html::add() metodunun yerini addHtml() ve addText() aldı.
Sürüm 2.3'e Yükseltme
- Dosyanın kodunu çözemediğinde
Image::from()artıkImageExceptionfırlatıyor Image::getFormatFromString()kullanımdan kaldırıldıStrings::chr()venormalize()artık yalnızca UTF-8 kodlamasıyla çalışıyor- Kod noktası geçerli aralıkta değilse
Strings::chr()artıkNette\InvalidArgumentExceptionfırlatıyor