Přechod na verzi 4.0

Verze 4.0 je zatím ve vývoji, tato stránka postupně vzniká.

Minimální požadovaná verze PHP je 8.3.

Nette Component Model

Většina změn se týká jen autorů vlastních komponent; běžného kódu aplikace se nedotknou. Celý příběh popisuje článek na blogu k vydání.

  • Metoda getComponents() už nepřijímá parametry $deep a $filterType a vždy vrací pole přímých potomků. Pro celý podstrom použijte getComponentTree(), případně v kombinaci s array_filter() pro filtrování podle typu.
  • Oznámení o připojení se nově doručují odshora dolů: callback $attached rodiče se spustí dříve než u jeho potomků, což rodiči umožní připravit svůj stav, případně potomka odebrat ještě předtím, než se zpracuje. Pořadí při odpojování zůstává nezměněné (nejdříve potomci).
  • Přepisovatelné metody attached() a detached() byly odstraněny; callbacky registrujte přes monitor($type, $attached, $detached).
  • Třída Component už nepoužívá trait Nette\SmartObject, takže ze základní třídy zmizel magický přístup k vlastnostem (Control a BaseControl si trait přidávají samy).
  • Konstanta NAME_SEPARATOR byla přejmenována na NameSeparator.