Larastan
Larastan používám jako způsob, jak dostat do Laravel projektu statickou analýzu, která rozumí Eloquentu, facades i dynamickým částem frameworku. Nejde o nástroj, který by nahradil testy nebo review, ale umí včas upozornit na typové chyby, špatné návratové hodnoty a drobné problémy, které by jinak vyšly najevo až za běhu aplikace.
Larastan je jeden z těch nástrojů, které nejsou na první pohled efektní, ale v dlouhodobé údržbě projektu udělají hodně práce. Nezrychlí klikání v administraci, nepřidá novou viditelnou funkci a klient si ho nejspíš nikdy nevšimne. Přesto může výrazně ovlivnit, jak jistě se člověk v Laravel aplikaci pohybuje.
Laravel je dynamický framework. Eloquent modely, facades, kolekce, service container a magické metody jsou pohodlné, ale běžná statická analýza se v nich snadno ztratí. Larastan stojí nad PHPStanem a přidává mu znalost Laravel ekosystému. Díky tomu umí upozornit na problémy, které by čistý PHPStan buď neviděl, nebo by je vyhodnotil příliš obecně.
Proč statickou analýzu řešit
U menší aplikace se může zdát, že stačí testy a ruční kontrola. Jenže čím déle projekt žije, tím víc se objevují drobné nesrovnalosti: metoda může vracet něco jiného, než se očekává, kolekce obsahuje jiný typ objektu, relation je pojmenovaná jinak, než si vývojář myslí, nebo se někde předává nullable hodnota do místa, které s ní nepočítá.
Larastan pomáhá tyhle věci zachytit dřív. Nečeká na to, až chyba spadne v produkci nebo až ji někdo náhodou trefí v testu. Projde kód a snaží se ukázat místa, kde typy, návratové hodnoty nebo volání metod nedávají smysl. Není to náhrada testů. Je to další vrstva kontroly, která doplňuje testy úplně jiným způsobem.
Laravel bez falešného klidu
Největší přínos Larastanu je podle mě v tom, že nenutí vývojáře ignorovat realitu Laravelu. Standardní PHP analýza může být u frameworků s dynamickým chováním buď příliš slabá, nebo naopak hlučná. Larastan rozumí modelům, facades, service containeru a dalším částem frameworku lépe, takže dokáže dávat smysluplnější výsledky.
To neznamená, že stačí nástroj nainstalovat a všechno je vyřešené. U starší aplikace může první spuštění ukázat hodně problémů. Některé budou skutečné chyby, jiné jen místa, kde kód nemá dostatečné typy nebo dokumentaci. Přínos není v tom, že projekt okamžitě projde na nejvyšší úroveň. Přínos je v tom, že člověk začne vidět, kde je codebase nejasná.
Postupné zpřísňování
Larastan bych zaváděl postupně. U existujícího projektu není dobrý cíl zapnout nejpřísnější režim a strávit týden hašením tisíců hlášek. Lepší je nastavit úroveň, která je zvládnutelná, opravit největší problémy a teprve potom laťku posouvat dál. Statická analýza má pomáhat vývoji, ne vytvořit další zdroj frustrace.
Dobře funguje i pravidlo, že nový kód by už neměl přidávat další problémy. Starší dluh se dá řešit postupně, ale pipeline může hlídat, aby se nezvětšoval. V kombinaci s PHPDoc, generiky u kolekcí, přesnějšími návratovými typy a lepší strukturou služeb začne Larastan rychle ukazovat hodnotu.
Kam zapadá v procesu
Největší smysl mi Larastan dává v CI vedle testů, Pint, Rectoru a dalších kontrol. Testy ověřují chování, Pint styl, Rector mechanické refaktoringy a Larastan typovou a strukturální konzistenci. Každý z těchto nástrojů hlídá jinou část problému. Dohromady dávají vývojáři větší jistotu, že změna není jen zelená lokálně, ale obstojí i v širším kontextu projektu.
U AI asistovaného vývoje je to ještě důležitější. Agent může vygenerovat kód, který vypadá přesvědčivě, ale typově nesedí nebo používá metodu, která ve skutečnosti neexistuje. Larastan takové věci často odhalí rychleji než člověk při čtení diffu. Pořád je potřeba úsudek a review, ale statická analýza zmenšuje prostor pro tiché chyby, které by jinak prošly až příliš daleko.
hub Související nástroje
Prozkoumejte podobné nástroje
Náhodný výběr nástrojů ze stejné kategorie.
Laravel Sail
Laravel Sail je oficiální Docker vývojové prostředí pro Laravel. Pomáhá rozběhnout aplikaci, databázi, cache a další služby bez ruční instalace celého stacku na počítači vývojáře. Největší smysl dává tam, kde chcete rychlý start projektu a konzistentní lokální prostředí napříč týmem.
Laravel Sanctum
Laravel Sanctum je lehčí autentizační řešení pro Laravel aplikace, které potřebují chránit SPA, mobilní aplikace nebo jednoduchá tokenová API. Jeho síla není v tom, že by nahrazoval OAuth pro každý scénář, ale v praktičnosti: umí session autentizaci pro first-party SPA a zároveň osobní API tokeny s abilities pro jednodušší integrace.
Sentry
Sentry pomáhá sledovat chyby a výkonnost aplikace tak, aby produkční problém nezůstal jen řádkem někde v logu. Ukazuje kontext výjimky, dotčené uživatele, release, prostředí i opakování chyb, takže se dá rychleji rozhodnout, co je opravdu kritické. Největší přínos má ve chvíli, kdy se chyby aktivně třídí a řeší, ne jen pasivně sbírají.
add_circle Chybí tu nástroj?
Navrhněte nástroj do výpisu
Pokud jste nenašli užitečný nástroj, pošlete mi jeho název a URL. Zkontroluji ho a případně doplním do veřejného katalogu.