Jeden z našich dlouhodobých cílů je udržovat technologie Shopsys Frameworku aktuální. V této verzi jsme se zaměřili na povýšení PHP na nejnovější verzi – PHP 8.1. Abychom mohli přemigrovat naše zdrojové kódy na nejnovější verzi PHP, museli jsme nejdříve povýšit i množství knihoven, které v našem kódu využíváme. Pojďme se podívat na ta nejzajímavější povýšení, která jsou zahrnuta v nejnovější verzi Shopsys Frameworku.
PHP
Máme velkou radost, že můžeme pokračovat ve vývoji Shopsys Frameworku s nejnovější PHP verzí. Nyní můžeme využívat nové možnosti, které nová verze nabízí, a těšit se z vylepšeného výkonu. Už byl nejvyšší čas PHP povýšit, protože aktivní podpora předchozí používané verze (7.4) již byla ukončena a podpora z pohledu bezpečnostních oprav bude ukončena v průběhu několika příštích měsíců.
Doctrine knihovny
Mimo jiné se jednalo o následující balíčky:
- doctrine/common (2.8.1 -> 3.2.2)
- doctrine/migrations (1.8.1 -> 3.4.1)
- doctrine/persistence (1.3.7 -> 2.4)
- doctrine/dbal (2.1 -> 3.3.3)
V rámci povýšení Doctrine knihoven jsme také přepsali a vylepšili náš vlastní nástroj pro databázové migrace – shopsys/migrations. V nové verzi je zjednodušen soubor migrations-lock.yaml a výstup z běhu migrací je přepracován tak, aby obsahoval více užitečných informací (např. celkový počet vykonaných SQL dotazů) a méně neužitečných informací (např. byly odstraněny opakující se hlášky “Migration executed but did not result in any SQL statements“).
PHPStan
0.12.76 -> 1.6.8 [#2452]
Kvalita zdrojového kódu pro nás byla vždy velmi důležitá a PHPStan je jedním z úžasných nástrojů, které nám pomáhají udržovat kvalitu zdrojových kódů na co možná nejvyšší úrovni. Nová verze PHPStanu přináší ještě lepší analýzu a zároveň jsme díky povýšení pročistili logy od hlášek o zastaralých funkcích.
Easy Coding Standard
7.3.18 -> 10.2.2 [#2415] [#2435]
Díky možnosti paralelního běhu, který je dostupný v nové verzi, je nyní kontrola standardů opravdu bleskově rychlá. Navíc konfigurace byla přesunuta z yaml do PHP souborů, což velmi zpříjemňuje práci vývojářům (automatické doplňování v IDE a automatická kontrola standardů v konfiguračních souborech je jen začátek, o dalších přínosech této změny si můžete přečíst v článku Tomáše Votruby).
Symfony Flex
1.4. -> 1.17 [#2447]
Původní infrastruktura Flexu byla již vypnuta, proto bylo potřeba povýšit na vyšší verzi, abychom tento nástroj mohli nadále využívat.
PHPUnit
8.0 -> 9.5 [#2424]
Nová verze PHPUnit vyžaduje v testovacích třídách striktní typování všech properties s @inject anotací. Pro tento účel jsme zavedli nové pravidlo do kontroly standardů, a tak je možné potřebná místa opravovat automaticky.
Další zajímavá vylepšení
Twig funkce icon
[#2274]
Vznikla nová Twig funkce (icon), která umožňuje vývojářům jednoduše měnit HTML ikony napříč aplikací. Díky této funkci lze ikony měnit na jednom místě a také jednoduše přidávat nové nebo zkombinovat dohromady více ikon.
Vylepšení nástroje pro opravy anotací
[#2434]
Zapracovali jsme zpětnou vazbu, kterou jsme dostali od projektových vývojářů, kteří tento nástroj denně využívají. Nyní již nástroj dokáže správně generovat @method anotace včetně výchozích hodnot, a to i v podobě konstant. Opravili jsme také aktualizaci již existujících @method a @property anotací.
Výše jsou uvedeny některé zásadní změny a inovace v nejnovější verzi Shopsys Platform. Úplný seznam aktualizací je k dispozici na našem GitHubu. Na našich webových stránkách najdete základní přehled o platformě, zatímco dokumentace je vynikajícím zdrojem informací pro vývojáře. Pokud máte jakékoliv dotazy nebo návrhy, neváhejte se na nás obrátit prostřednictvím diskuzí na GitHubu, případně můžete založit issue nebo vytvořit pull request. Vaše zpětná vazba je pro nás neocenitelná.
Čtěte také