Nette Documentation Preview

syntax
Přechod na verzi 4.0
********************

.[note]
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í |https://blog.nette.org/cs/component-model-4-0].

- 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`.

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.