Upgrade

Upgrade na verzi 4.0

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

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.

Upgrade na verzi 3.0

Konstruktor Nette\ComponentModel\Component nebyl roky používán a byl odstraněn ve verzi 3.0. Je to BC break: pokud voláte rodičovský konstruktor v komponentě nebo presenteru, musíte volání odstranit.