Upgrade

Upgrade auf Version 4.0

Die meisten Änderungen betreffen nur Autoren eigener Komponenten; gewöhnlicher Anwendungscode ist nicht betroffen. Die ganze Geschichte finden Sie im Blogartikel zum Release.

  • Die Methode getComponents() gibt nun ein array statt eines iterable zurück, und ihre alten Argumente $deep und $filterType werfen jetzt Nette\DeprecatedException. Aus der Signatur waren sie bereits in Version 3.1 verschwunden, funktionierten zur Laufzeit aber bis jetzt weiter. Für den gesamten Teilbaum verwenden Sie getComponentTree(), gegebenenfalls kombiniert mit array_filter() zum Filtern nach Typ.
  • Benachrichtigungen über das Anhängen werden nun von oben nach unten zugestellt: Das Callback $attached eines Elternteils läuft vor dem seiner Kinder, wodurch der Elternteil seinen Zustand vorbereiten oder ein Kind sogar entfernen kann, bevor es verarbeitet wird. Die Reihenfolge beim Trennen bleibt unverändert (zuerst die Kinder).
  • Die überschreibbaren Methoden attached() und detached() wurden entfernt; registrieren Sie Callbacks stattdessen über monitor($type, $attached, $detached).
  • Die Klasse Component verwendet den Trait Nette\SmartObject nicht mehr, der magische Zugriff auf Properties ist aus der Basisklasse also verschwunden (Control und BaseControl binden den Trait selbst ein).
  • Die veraltete Konstante NAME_SEPARATOR wurde entfernt; verwenden Sie NameSeparator, verfügbar seit Version 3.0.3.

Upgrade auf Version 3.0

Der Konstruktor von Nette\ComponentModel\Component wurde seit Jahren nicht verwendet und in Version 3.0 entfernt. Es handelt sich um einen BC Break: Wenn Sie in einer Komponente oder einem Presenter den Konstruktor des Elternteils aufrufen, müssen Sie den Aufruf entfernen.