Mise à niveau

Migration de la version 3.x vers la 4.0

La version minimale requise de PHP est 8.0.

La classe Nette\Utils\Reflection fournissait des méthodes pour travailler avec les types getParameterType(), getPropertyType() et getReturnType(). Les méthodes ont été créées à une époque où PHP n'avait pas les types union, intersection ou les plus récents types de forme normale disjonctive, avec lesquels ils ne fonctionnent plus et ont été remplacés par la classe Type. Depuis la version 4.0, ces méthodes sont supprimées.

La méthode Nette\Utils\Reflection::getParameterDefaultValue() est obsolète, car la native ReflectionParameter::getDefaultValue() fonctionne déjà correctement.

La variable Nette\Utils\Html::$xhtml est supprimée.

Finder

Finder a déménagé dans le paquet nette/utils, supprimez l'original :

composer remove nette/finder

Sous Linux, il se comporte désormais en mode sensible à la casse.

Dans la version précédente, il était vrai que les méthodes exclude() et filter() fonctionnaient différemment lorsqu'elles étaient appelées avant from() resp. in() et après elle. Ce n'est plus le cas, exclude() et filter() fonctionnent toujours de la même manière. L'ancien filter() appelé après a été remplacé par la nouvelle méthode descentFilter().

Finder n'implémente plus l'interface Countable.

Une chaîne commençant par un slash dans Finder::findFiles('/f*') est désormais considérée comme un chemin absolu, il faut le remplacer par ex. par Finder::findFiles('./f*').

Si le répertoire dans lequel vous cherchez n'existe pas, une Nette\InvalidStateException est lancée (au lieu de UnexpectedValueException).

version: 4.0