Plnohodnotná validace konfigurace v Nette DI – test

David Grudl
Nette Core | 8082
+
+17
-

Do Nette DI jsem dal poměrně zásadní novinku: schéma pro plnou validaci konfigurace..

kratičké video

Dá se popsat jednoduše a srozumitelně, může být i komplexní a nebo pomocí třídy (už to funguje s typehinty z PHP 7.4!) nebo velmi cool anonymní třídou (ano, napovídání pak spolehlivě funguje v celém kódu CompilerExtension).

Ačkoliv jde o zcela volitelnou součást a neměla by tedy způsobit žádný BC break, nejsem si jistý, jestli jsem u výše uvedených nettích CompilerExtensions počítal se všemi variantami, jak může konfigurace vypadat. Mohl bych vás proto poprosit o otestování, že vaše konfigurace projde beze ztráty kytičky v master verzi balíků Nette? Děkuji moc!

Martk
Člen | 651
+
+5
-

Nešel by z toho udělat samostatný balíček?

Dovedu si představit použítí i jinde :)

Editoval Martk (26. 3. 2019 18:06)

Martk
Člen | 651
+
0
-

@DavidGrudl co jsem zkoušel nasadit RC2 na projekt, tak přestala fungovat tato extensiona . Ve funkci getConfig vrací nyní prázdné pole. Jak se to registruje, najdeš úplně dole. Když se teď na to dívám, tak to nebylo moc hezké řešení.

Chová se to podobně jako ExtensionsExtension, jen navíc předávám balíčkům třídu a automaticky registruji Entity a překlady.

Možná pomůže vytvořit interface, který když je v Configuration::$defaultsExtension, tak se načte ještě před ostatními jako ExtensionsExtension.

Bylo to napsáno dávno, tak asi mě napadne jiné řešení a možná lepší.

David Grudl
Nette Core | 8082
+
+16
-

Těch žádostí udělat z toho samostatný balíček se objevilo více, takže tímto uvádím na světlo světa Nette Schema :-)

Třídy se tedy změní z Nette\DI\Config\Schema a Expect na Nette\Schema\Schema a Nette\Schema\Expect.

ali
Člen | 342
+
0
-

@DavidGrudl je nejaky duvod, proc Except::array() nejde nastavit defaultni parameter a musi se to psat delsim zpusobem Except::array()->default()?

Pavel Janda
Člen | 977
+
0
-

Jsem fakt rád za tuhle novou funkcionalitu v Nette. Super práce! :) Začal jsem na projektech používat Nette 3.0 a pracuje se s tím pěkně. 👍

PS: Konečně nějaké rychlé hvězdičky u nette GitHub repa. Super!

ic
Člen | 430
+
+1
-

BTW není to kratičké video dostupné i někde jinde než jen na Twitteru ?

Protože twitter neumožňuje uživateli změnit bitrate a když nemáte nejrychlejší internet, tak rozhodne za vás, že potřebujete vidět ve snížené kvalitě, kde ale nejdou číst texty. A zdá se že první přehodnocení bitrate probíhá ve 12-ti sekundách… pak už vidím video čitelné, jenže když má jen 15 sekund, tak to je už tak nějak pozdě.

Pavel Kravčík
Člen | 1180
+
0
-

@ic: Dobrý nápad. A někdo má dokonce blokovaný Twitter v práci. (fml)