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.