Postup při převedení už nepodporovaných composer balíčků k nám
Postup je jednoduchý, pouze se při tom dá zaseknout na hodně věcích. Pro příklad uvedu převedení Translation modulu contributte/translation
- Zkopíruju z adresáře vendor adresář contributte/translation k nám do app. Buď Utils nebo Components nebo něco podobnýho. Záleží co to je
- Odstraním závislost pomocí composer remove --no-update contributte/translation
- Tady může nastat to, že ten balíček měl také nějaké závislosti a vypíše to na output něco jako
- Removing symfony/translation-contracts (v2.5.2)
- Removing symfony/translation (v5.4.14) .....
- V případě že to odstranilo pouze požadovaný balíček a nic jinýho, tak v pohodě. Pokud to odstranilo ještě nějaký další, tak je potřeba je manuálně přidat do requirement v composer.json. V tomto případě:
"symfony/translation-contracts": "2.5.2", "symfony/translation": "5.4.14"
, ....
- Tady může nastat to, že ten balíček měl také nějaké závislosti a vypíše to na output něco jako
- Potom spustit composer update contributte/translation. To by mělo odstranit translation a pokud jsi doplnil requirement tak ponechat ostatní balíčky.
- Teď nejdůležitější část. SMAZAT cache projektu. (temp/cache). Pokud to neuděláš, tak nette na ten překopírovaný balíček neuvidí.
- Další věc je, že PhpStorm se bude tvářit, že žádný namespacy nejsou viditelný a tím pádem ani classy. Ony viditelný jsou, akorát PhpStorm se nepřeindexoval, takže stařčí jít do FILE | INVALIDATE CACHES a tam zvolit "Clear VCS Log chaces and indexes". On se reloadne a už by mělo jít na všechno vidět...
- Jako poslední krok je fajn projít kód a opravit depracated věci (většinou jich tam je víc než dost) a případně změnit namespace na něco custom. S tím se pak ale pojí to, že je potřeba něco upravit v config.neon... občas bude potřeba něco přidat i tak (například přidat komponentu jako Service).