Upgrade

Übergang von Version 3.x auf 4.0

Die minimal erforderliche PHP-Version ist 8.0.

Die Klasse Nette\Utils\Reflection bot Methoden zur Arbeit mit Typen: getParameterType(), getPropertyType() und getReturnType(). Diese Methoden entstanden zu einer Zeit, als PHP noch keine Union-, Intersection- oder die neuesten Disjunctive Normal Form-Typen kannte, mit denen sie nicht mehr funktionieren. Sie wurden durch die Type-Klasse ersetzt. Ab Version 4.0 sind diese Methoden entfernt.

Die Methode Nette\Utils\Reflection::getParameterDefaultValue() ist veraltet (deprecated), da die native Methode ReflectionParameter::getDefaultValue() nun korrekt funktioniert.

Die Variable Nette\Utils\Html::$xhtml wurde entfernt.

Finder

Finder wurde in das Paket nette/utils verschoben. Entfernen Sie das ursprüngliche Paket:

composer remove nette/finder

Unter Linux verhält es sich jetzt case-sensitiv.

In der vorherigen Version galt, dass die Methoden exclude() und filter() unterschiedlich funktionierten, je nachdem, ob sie vor from() bzw. in() oder danach aufgerufen wurden. Dies gilt nicht mehr; exclude() und filter() funktionieren immer gleich. Die frühere filter()-Methode, die erst danach aufgerufen wurde, wurde durch die neue Methode descentFilter() ersetzt.

Finder implementiert das Interface Countable nicht mehr.

Ein String, der mit einem Schrägstrich in Finder::findFiles('/f*') beginnt, wird jetzt als absoluter Pfad betrachtet. Er muss z. B. durch Finder::findFiles('./f*') ersetzt werden.

Wenn das Verzeichnis, in dem Sie suchen, nicht existiert, wird eine Nette\InvalidStateException (anstelle von UnexpectedValueException) ausgelöst.

Version: 4.0