Vyšla nová verze Nette DI 3.2
- David Grudl
- Nette Core | 8150
Vyšla nová verze Nette DI 3.2
novinky:
- využití všech featur PHP 8.1 (typehinty, nové funkce, …)
- ochrana citlivých údajů ve zdrojovém kódu v Tracy (ukázka)
- search: přidána volba
exclude > files
- podpora pro first-class callable syntax v NEONu (např.
@user::logout(...)
) - stručnější zápis vícenásobných továren (issue)
změny:
- generované továrničky a accessory vyžadují v rozhraní u metody create()/get() uvést nativní typehint (místo zastaralé phpDoc anotace)
- nikdy nedokumentovaný parameter
%parameters%
je deprecated - varuje, pokud při kompilaci dochází k serializování objektů
- Sniclman
- Člen | 11
Ve verzi 3.1 fungovaly „dynamické“ vícenásobné továrny. Ve verzi 3.2 toto již není možné.
Toto fungovalo ve verzi 3.1
interface VicenasobnaTovarna
{
public function create($nazevTovarny): AbstraktniTrida;
}
Musel jem provést náhradu metody create
za get
.
Nicméně to není stav, který bych chtěl, protože metoda get
vrací vždy stejnou instanci. Potřeboval bych vždy novou instanci tak jak to
bylo u metody create (každá instance může mít vlastní konfiguraci).
Definovat metody create<name>()
v mém případě nelze.
Třídy, které dědí AbstraktniTrida
přidávám formou pluginu a
registruji pomocí vloženého (include) NEONu.
Bude metoda v následující verzi opět k dispozici
create($name)
? Případně je k tomu jiný postup?