Pambuyo pazaka zisanu ndi chimodzi za chitukuko, kutulutsidwa koyamba kokhazikika kwa static analyzer PHPStan 1.0 kunachitika, zomwe zimakulolani kuti mupeze zolakwika mu PHP code popanda kuichita ndi kugwiritsa ntchito mayesero a unit. Khodi ya polojekitiyi idalembedwa mu PHP ndikugawidwa pansi pa layisensi ya MIT.
Analyzer imapereka milingo 10 yowunika, momwe gawo lililonse lotsatira limakulitsa luso lalo lapitalo ndikupereka macheke okhwima:
Zitsanzo za zovuta zomwe zadziwika:
- Kukhalapo kwa makalasi omwe amagwiritsidwa ntchito pochita, kugwira, zilembo ndi zilankhulo zina.
- Kukhalapo ndi kupezeka kwa njira ndi ntchito zotchedwa, komanso chiwerengero cha zifukwa zomwe zadutsa.
- Kuyang'ana kuti njirayo imabwezera deta ndi mtundu womwewo monga momwe tafotokozera m'mawu obwereza.
- Kukhalapo ndi kuwonekera kwa katundu omwe akupezekapo, ndikuyang'ana mitundu yolengezedwa ndi yeniyeni ya deta yomwe imagwiritsidwa ntchito pazinthuzo.
- Chiwerengero cha magawo omwe amaperekedwa ku mafoni a sprintf/printf mu chipika chojambulira zingwe ndicholondola.
- Kukhalapo kwa zosinthika poganizira midadada yopangidwa ndi oyendetsa nthambi ndi malupu.
- Mitundu yopanda ntchito (monga "(chingwe) 'foo'") ndi kuyesa mwamphamvu ("===" ndi "!==") pa data yokhala ndi mitundu yosiyanasiyana ndi machitidwe omwe nthawi zonse amabwerera zabodza.
Zatsopano zazikulu mu PHPStan 1.0:
- Chiwongola dzanja cha "9" chakhazikitsidwa, chomwe chimayang'ana kugwiritsidwa ntchito kwa mtundu "wosakanizika", womwe umapangidwira kukonzekera kulandila kwa ntchito kwa magawo ndi mitundu yosiyanasiyana. Level XNUMX ikuwonetsa kugwiritsidwa ntchito kosayenera kwa "osakanikirana", monga kupititsa patsogolo mtundu "wosakanizika" ku mtundu wina, kuyitana njira zamtundu "zosakanizika", ndikupeza katundu wake chifukwa mwina kulibe.
- Lamulirani ngati mayendedwe obwerera ali ofanana pama foni omwe amafanana pogwiritsa ntchito @phpstan-pure ndi @phpstan-impre notations.
- Lembani kusanthula mukuyesera-kugwira-pomaliza kumanga pogwiritsa ntchito @throws annotations.
- Kuzindikiritsa katundu wamkati (wachinsinsi) wofotokozedwa koma wosagwiritsidwa ntchito, njira ndi zokhazikika.
- Kupititsa ma callbacks osagwirizana kumagulu osiyanasiyana monga array_map ndi usort.
- Lowetsani kuyendera kwa zilembo zosowa.
- Anapanga zolengeza zamtundu zogwirizana ndi PHPDocs, kulola mitundu kuchokera ku mauthenga olakwika kuti agwiritsidwe ntchito mu PHPDocs.
Source: opennet.ru