Kamora lilemo tse ts'eletseng tsa nts'etsopele, tokollo ea pele e tsitsitseng ea static analyzer PHPStan 1.0 e etsahetse, e u lumellang ho fumana liphoso ho khoutu ea PHP ntle le ho e etsa le ho sebelisa liteko tsa yuniti. Khoutu ea projeke e ngotsoe ka PHP mme e ajoa tlasa laesense ea MIT.
Analyzer e fana ka maemo a 10 a tlhahlobo, moo boemo bo bong le bo bong bo latelang bo holisang bokhoni ba e fetileng mme bo fana ka licheke tse thata haholoanyane:
Mehlala ea mathata a ka sehloohong a tšoailoeng:
- Ho ba teng ha lihlopha tse sebelisoang ka mohlala, ho tšoasa, ho thaepa le lihahi tsa lipuo tse ling.
- Ho ba teng le ho fumaneha ha mekhoa le mesebetsi e bitsoang, hammoho le palo ea likhang tse fetisitsoeng.
- Ho hlahloba hore na mokhoa o khutlisa data ka mofuta o tšoanang le o hlalositsoeng polelong ea ho khutlisa.
- Ho ba teng le ponahalo ea thepa e fihlellehang, le ho lekola mefuta e phatlalalitsoeng le ea nnete e sebelisoang meahong.
- Palo ea li-parameter tse fetiselitsoeng ho mehala ea sprintf/printf ka har'a boloko ba fometa ea likhoele e nepahetse.
- Ho ba teng ha mefuta e fapaneng ho ela hloko li-blocks tse entsoeng ke li-branching operators le loops.
- Mefuta e se nang thuso (mohlala "(string) 'foo'") le liteko tse thata ("===" le "!==") ho data e nang le mefuta e fapaneng le lits'ebetso tse lulang li le leshano.
Litlhahiso tsa bohlokoa ho PHPStan 1.0:
- Tekanyo ea "9" ea ho hlahloba e kentsoe ts'ebetsong, e hlahlobang tšebeliso ea "motsoako" oa mofuta, o reretsoeng ho hlophisa kamohelo ea mosebetsi oa li-parameter tse nang le mefuta e sa tšoaneng. Level XNUMX e supa ts'ebeliso e sa bolokehang ea "motsoako", joalo ka ho fetisa boleng ba mofuta "o tsoakiloeng" ho mofuta o mong, ho bitsa mekhoa ea mofuta "o tsoakiloeng", le ho fihlella thepa ea eona hobane e kanna ea se be teng.
- Laola hore na litekanyetso tsa ho khutlisa li ts'oana bakeng sa mehala e ts'oanang e sebelisang litlhaloso tsa @phpstan-pure le @phpstan-impure.
- Tlanya tlhahlobo ho leka-ho tšoasa-qetellong u sebelisa @throws annotations.
- Ho tsebahatsa thepa ea ka hare (ea poraefete) e hlalositsoeng empa e sa sebelisoe, mekhoa le li-constants.
- Ho fetisa li-callback tse sa tsamaisaneng le mesebetsi e fapaneng joalo ka array_map le usort.
- Tlhahlobo ea mofuta bakeng sa litlhaloso tsa mongolo o sieo.
- E entse liphatlalatso tsa mofuta o lumellanang le PHPDocs, e lumellang mefuta e tsoang melaetsa ea liphoso hore e sebelisoe ho PHPDocs.
Source: opennet.ru