Nekompatibilita balicku Latte 2.5 a Tracy 2.6

ali
Člen | 342
+
+1
-

Zakladam na zadost @DavidGrudl poresunout tuto diskusi do jineho tematu: https://forum.nette.org/…ktualizovano#…

Puvodne jsem netusil, jak to presne @ppar myslel, dokud jsem neaktualizoval z Latte 2.4 na 2.5.

Ve svych aplikacich pouzivam v composeru latte/latte: ^2.4 coz vedlo k tomu, ze po aktualizovani zavislosti, se mi stahlo i Latte 2.5, ktere diky strict typum je nekompatibilni s doplnky. Treba, ti, co pouzivaji Kdyby\Translation po aktualizaci Latte budou dostavat tuto chybu: Declaration of Kdyby\StrictObjects\Scream::__isset($name) must be compatible with Latte\Macros\MacroSet::__isset(string $name): bool

Problem sice jde jednoduse vyresit prepsanim z ^2.4 na ~2.4.0, ale ma skutecne dochazet k takove nekompatibilite, pri prechodu o desetinnou verzi?

Editoval ali (22. 2. 2019 8:39)

David Grudl
Nette Core | 8111
+
+1
-

Řešením je odstranit use \Kdyby\StrictObjects\Scream; ze třídy TranslateMacros https://github.com/…n/issues/159

Myslím, že tohle není obecný problém, spíš odhalení zbytečného použití use v kódu Kdyby/Translation. Kdyby se to tak projevilo ještě někde jinde, odstranil bych uvedený typehint z Latte.

roman.campula
Člen | 60
+
0
-

Zdravím,
již déle sleduji vlákno na GitHubu, ale řešení stále není kompletní. Jde tato chyba nyní nějak jednoduše obejít, dokud nebude chyba v Kdyby/Translation odstraněna? Nevím přesně, jak omezit latte/latte na verzi 2.4.0, která asi fungovala. V composer.json mám víceméně jen
"nette/nette": "~2.4"
Takže nevím, jak ten composer.json upravit, aby mi to jako závislost nette/nette nestahovalo vyšší verzi latte/latte než 2.4.0.

Díky

Mysteria
Člen | 797
+
+1
-

Můžeš si tam přidat "latte/latte": "~2.4.0", to ti zajistí, že dostaneš poslední verzi řady 2.4, ale už ne 2.5.